您的位置:首页 > 编程语言 > ASP

基于多层架构的asp.net mvc项目的搭建

2013-08-30 15:09 429 查看
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文件夹中,并且视图文件和控制器里边的方法名一样,也会正确渲染的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: