对MVC、三层架构的一点愚见
2017-06-10 17:18
281 查看
网上对这个问题争论很多,有的说V和C对应表现层,M对应业务层和数据访问层,有的又说MVC整个对应表现层,其实这个问题关键在于对模型层的理解。
若认为模型层包括实体类和业务逻辑,那M自然对应业务层和数据访问层(需要的话);
若认为模型层只包括实体类,不包含业务逻辑,那MVC就对应整个表现层。
我更趋向于第二种观点,模型只是数据的一种表现方式,如JavaBean,真正的业务逻辑是需要另外的程序去处理,因此Jsp+Servlet+JavaBean和Spring MVC、Structs等MVC框架为同一层次的,这些框架必须依赖于其他层去实现业务逻辑,单独的Jsp+Servlet+JavaBean是没有意义的,还得加上一些Java程序,单独的Spring MVC也没有意义,必须要有handler(通常叫Controler,但不是MVC中的C)返回ModelAndView,而handler一般是调用Services层的。因此MVC和三层架构不是并列的关系,MVC只是对三层架构中表现层的进一步划分,同时表现层也有可能采用其他设计模式。
若认为模型层包括实体类和业务逻辑,那M自然对应业务层和数据访问层(需要的话);
若认为模型层只包括实体类,不包含业务逻辑,那MVC就对应整个表现层。
我更趋向于第二种观点,模型只是数据的一种表现方式,如JavaBean,真正的业务逻辑是需要另外的程序去处理,因此Jsp+Servlet+JavaBean和Spring MVC、Structs等MVC框架为同一层次的,这些框架必须依赖于其他层去实现业务逻辑,单独的Jsp+Servlet+JavaBean是没有意义的,还得加上一些Java程序,单独的Spring MVC也没有意义,必须要有handler(通常叫Controler,但不是MVC中的C)返回ModelAndView,而handler一般是调用Services层的。因此MVC和三层架构不是并列的关系,MVC只是对三层架构中表现层的进一步划分,同时表现层也有可能采用其他设计模式。
相关文章推荐
- mvc与三层架构终极区别
- 【ASP.NET开发】ASP.NET(MVC)三层架构知识的学习总结
- 架构(三层架构)、框架(MVC)、设计模式三者异同点
- MVC与三层架构
- JAVAEE企业级应用开发浅谈第二辑:MVC与三层架构
- 三层架构与MVC的区别
- 【转】asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- asp.net mvc应用架构的思考--Unity的应用及三层代码
- 从三层架构到MVC,MVP
- MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
- 三层架构与MVC谜团之答案揭晓
- 步步为营:三层架构+ASP.NET MVC 架构的快速搭建(入门篇)
- mvc和三层架构到底有什么区别
- \t\tASP.NET MVC 与 WebForm 三层架构 区别
- asp.net mvc中自行搭建实现工厂模式的spring.net+三层架构 (15-4-20)
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- MVC与三层架构的区别
- 【ASP.NET开发】ASP.NET(MVC)三层架构知识的学习总结
- 从三层架构到MVC,MVP
- 谈谈你对MVC和三层架构的理解?(月薪三万的面试题)