三层架构

    三层架构,通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

数据访问层

    DAL的作用

        从数据源加载数据(select)

        向数据源写入数据(Insert/Upate)

        从数据源删除数据(delete)

    DAL中常用的技术

        ADO.NET+SQL语句

        O/R Mapping 框架

        访问SQL Server数据库时Linq to SQL(单点映射)

显示层

    UI层的作用

        向用户展现特定的业务数据

        采集用户的输入信息和操作

    UI设计的原则

        用户至上,兼顾简洁

    UI中常用的技术

        WindowsForm:Form、Control

        ASP.NET:aspx、ascx、master、html

业务逻辑层

    BLL的作用

        从DAL中获取数据,以供UI显示

        从UI中获取用户指令和数据,执行业务逻辑

        从UI中获取用户指令和数据,通过DAL写入数据源

    BLL的职责机制

        UI->BLL->UI

        UI->BLL->DAL->BLL->UI

 

原则——具体应用

    DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理

    UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理

    BLL层负责处理业务逻辑,通过获得UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI

 

优点

    1、开发人员可以只关注整个结构中的其中某一层;

    2、可以很容易的用新的实现来替换原有层次的实现;

    3、可以降低层与层之间的依赖;

    4、有利于标准化;

    5、利于各层逻辑的复用。

    6、结构更加的明确

    7、在后期维护的时候,极大地降低了维护成本和维护时间

缺点

    1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

    2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

    3、增加了开发成本。

 

    很多的东西都这样,在你不了解它之前,感觉特别的高深,难以接触,一旦你明白了,就突然有一种豁然开朗的感觉。知识,不应该仅仅局限于看得懂,更要去体会它的原理,感受它的美妙之处。

 

你可能感兴趣的:(架构,三层)