MVC分层处理
MVC和三层其实是八竿子打不着的,MVC是一种全新的开发方式,传统的三层,其实是模块划分,为了结构清晰.而MVC就是MVC,是通过URL路由到控制器,然后到模型,处理完数据然后将结果返回给视图.是与三层没有关系的.MVC也可以基于多层架构,其关键就是让控制器,模型,视图各自所处的命名空间不变,只是代码分层,以此推断,MVC可以是多层.也可以是一层.
下边是asp.net 基于多层的MVC项目的搭建,利用向导生成的项目都是一层的,下图是搭建多层MVC项目的过程
给这个解决方案新加一个类库,命名为asp.net.mvc.Controllers
采用上边的方式,再添加类库asp.net.mvc.Models,这样的话M V C 就分成三个层了,接着就是 把Controllers下的CS文件移动到asp.net.mvc.Controllers类库下,按照同样的方式将models下边的文件移动到asp.net.mvc.Models下.然后将View层的controllers和Models干掉.结果如下图.
最后我们要添加各层之间的引用关系.具体项目引用关系如下.
asp.net.mvc 引用 asp.net.mvc.Controllers 和 asp.net.mvc.Models
asp.net.mvc.Controllers 要引用 asp.net.mvc.Models,这样,项目之间的引用关系就OK了,但是由于Controller层和Model层要依赖一些.net自带的引用.所以我们要给controllers和Modles分别引用各自需要的.net引用.
asp.net.mvc.Controller 需要引用的.net组件如下 (引用时要注意组件的版本已经自己的asp.net mvc的版本),不是system开头的组建自己加的,不是必要的引用,可以不需要.
asp.net.mvc.Models 需要引用的.net组件如下 (引用时要注意组件的版本已经自己的asp.net mvc的版本),不是system开头的组建自己加的,不是必要的引用,可以不需要.
这样就大功告成,不需要修改配置文件,分成多层之后,很过向导不能用,例如选中一个controllers中的方法,鼠标右键,没有创见视图菜单选项,需要自己来手工创建,不过也没有关系,由于asp.net天生就是结构优先于配置,只要你的视图在controllers对应的view文件夹中,并且视图文件和控制器里边的方法名一样,也会正确渲染的.
本文转自http://blog.csdn.net/lvbian/article/details/10603563 因怕图片丢失固全部复制过来。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。