基于多层架构的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文件夹中,并且视图文件和控制器里边的方法名一样,也会正确渲染的.
下边是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文件夹中,并且视图文件和控制器里边的方法名一样,也会正确渲染的.
相关文章推荐
- asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与)
- asp.net -mvc框架复习(7)-基于MVC搭建用户登录项目框架
- Asp.net mvc项目架构分享系列之架构搭建初步
- asp.net -mvc框架复习(10)-基于三层架构与MVC搭建项目框架
- Asp.Net MVC && SmartDAL项目实践(二) 简单结构搭建
- ASP.NET MVC入门到精通——搭建项目框架
- 主攻ASP.NET.4.5.1 MVC5.0之重生:空地搭建一个包含 Ninject框架 项目
- asp.net mvc 简单项目框架的搭建过程(一)对Bll层和Dal层进行充分解耦
- asp.net mvc 简单项目框架的搭建(二)—— Spring.Net在Mvc中的简单应用
- OXite 微软一款基于asp.net mvc架构的blog内容管理系统
- 22、ASP.NET MVC入门到精通——搭建项目框架
- asp.netmvc 三层搭建一个完整的项目
- ASP.NET MVC搭建项目后台UI框架—3、面板折叠和展开
- 基于ASP.NET MVC 4/5 Razor的模块化/插件式架构实现
- 基于JQuery、WebApi的ASP.NET MVC插件的代码生成项目主要技术解析
- 转发-基于ASP.NET MVC 4/5 Razor的模块化/插件式架构实现
- 基于ASP.NET MVC 4/5 Razor的模块化/插件式架构实现
- ASP.NET MVC搭建项目后台UI框架—11、自动加载下拉框查询
- 基于ASP.NET MVC 4.0的音乐商店全套项目教程
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中