您的位置:首页 > 其它

三层总结(理论篇)——揭开三层的面纱

2015-03-22 16:03 253 查看
    这段时间一直在等级考试中徘徊不定,对于三层一直没能够好好的总结。终于C++考试过去,虽然战况比较惨烈……C++的总结还是要写的。开始三层之前,一直不知道三层为何物,今天我们就来揭开它的面纱。

何谓三层?
  


   三层架构,顾名思义,分为三层:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。下面让我们来依次认识一下吧!

(1)表现层(UI)

    主要是指与用户交互的界面,向用户展现特定业务数据,采集用户的输入信息和操作。表现层就如同服务员一样和蔼可亲,直接与我们交流,用户至上,养眼大方。

(2)业务逻辑层(BLL)

    业务逻辑层负责用户在UI层里提出的问题的操作,对其进行处理。它可以从DAL层获取数据,返回给UI层显示;还可以从UI中获取用户信息,通过DAL层写入数据库;也可以从UI层收集用户的指令和数据,执行业务逻辑。业务逻辑层就是如同服务员和采购员之间的桥梁,服务员(UI)向厨师(BLL)提供用户的菜单,厨师负责一系列的做菜,而厨师将所需的食材报告给采购员(DAL)。

(3)数据访问层(DAL)

    DAL直接负责对数据库的操作,实现对数据库的增删改查。

附图一张:

 





另增一层:实体层:一般实体层贯穿于整个架构中,在三层之间传递数据。有人说它“上蹿下跳”,同哪一层都有关系。其实它的存在,体现了面向对象的封装,实体层把所有的实体(属性)封装在一层,方便了代码的维护。说白了,它就是一个类而已。

看一下在三层中数据传递的方向:






使用三层的好处:解耦!

同设计模式一样,我们使用三层的目的也是为了解耦。

优点:解耦带来的好处不言而喻,结构更加明确,降低了依赖,易维护和扩展。

缺点:1.降低了系统的性能(通过中间层访问,效果不言而喻);

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

[b][b]     3.开发成本增加。[/b][/b]

[b][b]     理论部分就到这里了,实践部分敬请期待![/b]
[/b]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: