【前言】
放假之前终于到了传说中的三层,以为学习材料很多,原来就一个视频、几本书。于是就开始照着视频敲代码,果然,向大家说的那样,会遇到很多的错误。现在终于调试完了。
接下来说说我对三层的理解,以及学习过程中的感悟!
【正文】
三层:(爱之初体验)
what:
我认为,就是将一组工作,本来三个人一起干,现在为了提高效率和工作的正规和整洁。将工作分成了三道工序,三个人每天只做一道工序。好像操作系统里的三级缓存!有人举饭店服务员、厨师、采购员的例子。我觉得很恰当!
在下举一个400米接力的例子。只不过这个接力要往返跑!
用户是第一棒、U层是第二棒、B层是第三棒、D层是第四棒、数据库是终点。
用户负责将自己的数据交给U层,在最初的100米弯道,用户只能看到U层。当交接后,第二棒的U层,要把数据传给B层,就开始了100米的直线冲刺,他只负责自己的这100米,把数据交给B层。B层是业务逻辑层,负责很关键的第三棒弯道(这一百米经常让比赛发生逆转)。B层把数据交给D层,接下来D层就很简单的向终点、数据库冲去了!
每一个100米,都会有两个医护人员,医护人员只需要负责自己赛段的那名运动员。
如果U层运动员赛前吐了或者低血糖,只需要让替补换下U层运动员。而不用动整个队伍。
每名运动员只需要训练自己的那个赛段,让自身在该赛段的成绩提升,只和自己接触的运动员相互配合就可以了。
如果U层和D层的两名运动员之间有矛盾,不会影响比赛。因为他们看不到对方,比赛过程中不会接触。
why:
为什么使用三层呢?三层架构的目的就是实现“高内聚”“低耦合”目的!
优点:
1.开发人员可以只关注整个结构中的其中某一层;
2.可以很容易的用新的实现来替换原有层次的实现;
3.可以降低层与层之间的依赖;
4.有利于标准化;
5.利于各层逻辑的复用。
6.结构更加的明确;
7.在后期维护的时候,极大的降低了维护成本和维护时间
缺点:
1.降低了系统的性能。如果不采用分层式结构,很多业务可以直接访问数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2.有时会导致级联的修改。这种修改尤其体现在自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式的结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
3.增加了开发成本。
【总结】
这是用面向对象技术的一次尝试。我觉得很好,是另一种思路、思维!