- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
介于这段时间的学习,MVC 和 Entity Framework 再加上自己对框架这部分的理解,弄了这么个Demo,希望大家能给点意见,一起讨论讨论。本章中没有多么高深的理论知识,只是个人对于架构的理解,加上MVC 和 EntityFramework,可以说是个整体的部分
先贴下我的项目的分布图:
整个项目主要采用三层架构,面向接口的编程方式。
界面层:User Interface ?
CinDou.Web主要放我们的Web页面,
CinDou.Route主要放置MVC中Controller,
这里我采用把Controller分离出来。个人考虑的原因是:项目比较清晰,职责比较单一。
逻辑层:Business Logic Layer ?
CinDou.BFactory 是逻辑工厂层,用于创建逻辑层的接口,便于界面层调用。
CinDou.IBLL 逻辑接口层CinDou.BLL 逻辑业务层 主要负责逻辑层中的业务。
CinDou.Model 逻辑业务类
数据库层:Data Accss Layer
CinDou.DFacoty:数据工厂层,用于创建数据库层的接口,从而让逻辑层调用
CinDou.IDAL : 数据库接口层
CinDou.DAL : 数据库持久层
CinDou.EFramework: Entity Framework层
工具层:ToolKit
CinDou.Tools 常用的工具类方法层
Component :控件层
?
大概的一个分层是这个样子的。其实园子里有很多同学都说过这个话题,每个人对分层有各自的看法,不过看了很多文章,总感觉有点语曰不详,或者可能是我没有找到,所以个人自己写个,希望有兴趣的同学们一起讨论下。
貌似MVC现在比较热闹,所以,在这个项目中我也采取了MVC,但是MVC的Controller总是包含在站点文件夹中,这个总让我很不爽,至于为什么不爽,个人总感觉Controller是个页面的逻辑部分, 一般在以前我们总放在aspx.cs文件中,但是mvc没有这个aspx.cs文件,所以,索性我们把这部分单独出来建立了CinDou.Route这个项目
为了使这个Controller能单独出来,我们必须还要做一些其它的工作:
Step1:在CinDou.Tools中建立
IRegisterRoutes.cs
?
using System.Web.Routing;
??
namespace CinDou.Tools
{
????interface IRegisterRoutes
????{
????????void RegisterRoutes(RouteCollection Routes);
????}
} CinDouRoutes.cs
?
using System.Web.Routing;
using System.Web.Mvc;
??
namespace CinDou.Tools
{
????class CinDouRoutes : IRegisterRoutes
????{
????????public void RegisterRoutes(RouteCollection routes)
????????{
????????????routes.IgnoreRoute({resource}.axd/{*pathInfo});
????????????routes.MapRoute(
????????????????Default, // Route name
????????????????{controller}/{action}/{id}, // URL with parameters
????????????????new { controller = Home, action = Index, id = UrlParameter.Optional } // Parameter defaults
????????????);
????????}
????}
} CinDouApplication.cs
?
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
??
namespace CinDou.Tools
{
????public class CinDouApplication : HttpApplication
????{
????????protected void Application_Start()
????????{
????????????CinDouRoutes pdr = new CinDouRoutes();
??????
文档评论(0)