三层架构是典型的架构模式(Architecture Pattern)
三层架构中,将整个业务应用划分为
a.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
b.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
c.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
三层架构的分层模式是典型的上下关系,上层依赖于下层。意在职责分离。即为了“高内聚,低耦合”的思想。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。即使将MVC当作架构模式,也不是分层模式。MVC和三层架构基本没有可比性,是应用于不同领域的技术。
MVC是一个复合模式mv,mc都是观察者模式m内部的组件组合模式vc之间是策略模式(可以随时更换不同的控制器)严格说el-View-Controller这三个加起来以后才是三层架构中的WEB层,也就是说,MVC把三层架构中的WEB层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。
MVC的重要特点是分离。
两种分离:View和数据(Model)的分离使用不同的View对相同的数据进行展示;分离可视和不可视的组件,能够对Model进行独立测试。因为分离了可视组件减少了外部依赖利于测试。(数据库也是一种外部组件)
View和表现逻辑(