三层架构和mvc的区别

手册/FAQ (367) 2015-10-21 15:24:36

 

      三层架构

       是用户所能看到并通过其进行和计算机的额交互;逻辑层是中间层负责进行数据处理和业务逻辑实现,可以看作是
   对数据访问层进行操作;数据访问层负责逻辑层的结果和 数据库数据之间的交互,即对数据库的增、删、读等操作。

       表现层(UI):展示给用户的界面;负责与数据源的交互,即数据的插入、删除、修改以及从数 据库中读出数据等操作。对数据的正确性和可用性不负责,对数据的用途不了解, 不负担任何业务逻辑。
业务逻辑层(BLL):对数据业务逻辑处理。 负责系统领域业务的处理,负责逻辑性数据的生成、处理及 转换。对流入的逻辑性数据的正确性及有效性负责,对流出的逻辑性数据及用户 性数据不负责,对数据的呈现样式不负责。
数据访问层(DAL):针对数据的增、删、改、查等。负责接收用户的输入、将输出呈现给用户以及访问安全性验证。 对流入的数据的正确性和有效性负责,对呈现样式负责,对呈现友好的错误信息 负责。
优点:
1、开发人员可以只关注整个结构中的其中某一层,修改板块时可以任意的调用代码;
2、可以很容易的用新的实现来替换原有层次的实现数据之间调用;
3、可以降低层与层之间的依赖,相互分工高聚能、低耦合;
4、有利于标准化;
5、利于各层逻辑的复用。
缺点
1、降低了系统的性能。这是肯定的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
、增加了开发成本。

 

       

MVC架构

     一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,M是指数据模型,V是指用户界面,
    C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,mvc模式的目的
    就是实现Web系统的职能分工。

模型(Model):表示应用程序核心(比如数据库记录列表)。
视图(View):显示数据(数据库记录)。
控制Controller):控制器)处理输入(写入数据库记录)。
MVC结合提供了对简单的HTML、css、javascript的完全控制。
优点:利于批量生产、层次分明,架构清晰、利于维护,利于写质量高的网站

缺点:不利个案创作、独立创作、难艺术化、难个性化。

 

 

THE END