首页 > 代码库 > 三层构架 和 MVC 是什么?
三层构架 和 MVC 是什么?
作者:肖继潮
链接:https://www.zhihu.com/question/24291079/answer/27339010
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
企业应用开发时,经常采用三层架构分层:表示层、业务层、持久层。
- 表示层负责接收请求、转发请求、显示数据等;
- 业务层负责组织业务逻辑;
- 持久层负责持久化业务对象。
这三个分层,每一层都有不同的模式,就是架构模式。表示层最常用的架构模式就是MVC。因此,MVC是三层架构中表示层最常用的架构模式。
建议阅读《企业应用架构模式》《领域驱动设计》《Pojos in action》《J2EE 核心模式》等经典书籍,不要随意发明名词。
MVC - 模型、视图、控制器。
总有人来个什么模型层、视图层、控制器层,哪里来的这么多层?是不是还要来个Service层、DAO层、DTO 层?
XX层,英文是tier(物理上)、layer(逻辑上)。既是层,个人理解就有上下关系。
模型、视图、控制器有上下关系?否则 依赖倒转原则(高层不依赖于低层,二者都依赖于抽象)指的是啥?
三层架构,每层都有自己的模式。模式就是套路(杨氏太极拳十八式就是套路),每一层都有自己的套路,就是所谓架构模式。
- 表示层最常用的模式就是MVC ,MVC就是表示层的一种架构模式。
- 业务层的架构模式有事务脚本模式、领域模型模式、CQRS等(另一种说法是贫血、失血、充血、胀血...)。
- 持久层的架构模式有入口模式、数据映射器模式等。
一般来说,框架 > 架构模式> 设计模式 > 设计原则。打个比方,
- Hibernate是一个持久层框架,是数据映射器模式的具体实现,实现时用到了工厂模式等很多设计模式,体现了什么依赖倒转原则、开闭原则、里氏替换原则等设计原则。
- AngularJS是一个客户端MVC框架,是 MVC架构模式的一种实现,实现时用到 XXXX设计模式,体现了 XXXX等设计原则。
- Struts、ASP.NET MVC是表示层框架。。。。。诸如此类。
三层构架 和 MVC 是什么?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。