分层架构
三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层) 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的即为了“高内聚,低耦合”的思想。
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。
架构对比
三层架构 | MVC | MVVM | MVP | |
---|---|---|---|---|
UI展示 | 表现层(UI) | View | View | View |
界面逻辑 | 表现层(UI) | Controller | ViewModel | Presenter |
业务逻辑 | 业务逻辑层(BLL) | Model | Model | Model |
数据访问 | 数据访问层(DAL) | Model | Model | Model |
分层架构 | 事件驱动架构 | 微内核架构 | 微服务架构 | 基于空间的架构 | |
---|---|---|---|---|---|
整体灵活性 | Down | Up | Up | Up | Up |
易于部署 | Down | Up | Up | Up | Up |
可测试性 | Up | Down | Up | Up | Down |
性能 | Down | Up | Up | Down | Up |
伸缩性 | Down | Up | Down | Up | Up |
易于开发 | Up | Down | Down | Up | Down |