三层总结
三层的学习已经告一段落,该进行七层登录的学习了,现在我就把我的一些感想发一下!
什么是三层架构:
三层架构(3-tier architecture) 通常意义上的三层架构就是:界面层(User Interface layer 简称 U层)、业务逻辑层(Business Logic Layer 简称B层)、数据访问层(Data access layer 简称 D层)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。
U层:
用于显示和收集用户的工种数据,同时对数据进行简单的处理,主要的处理放在B层中
B层:
用于处理U层和D层的数据,将处理的数据传送至相对应的层中,B层主要进行数据处理。
D层:
用于和数据库进行交互,将B层处理的数据传给数据库或者将数据库的记录传给B层。
Model层:
用于在各层之间传送数据,或者说是各个层为了传送数据需要Model作为载体来进行数据的交换。
三层的优点:
- 开发人员只关注某一层的操作;
- 新的实现容易替换原有层次的实现;
- 降低了各层之间的依赖关系;
- 保护了数据的安全;
- 有利于负载平衡;
- 便于构建不同网络环境中的分布式应用。
三层缺点:
降低系统性能,因为数据在各个层之间的传递势必会增加处理的时间,降低效率,同时在传递的过程中可能会发生本可以直接交互却还要通过各个层以后才能得到数据的问题。
感想:
不得不否认,应用三层会提高我们开发的效率,但是有一个很有趣的问题,就是“越灵活效率就会相应的降低”,这一点放在计算机方面我感觉挺明显的,二进制编码计算机执行效率最高但是人们难以理解,后来有了汇编,有了C语言,再后来有了各种高级语言,但是有计算机相关知识的人都是知道越是低级的语言效率越高,同样的虽然三层方便了我们开发但是感觉还是有点啰嗦,是不是也会降低我们所做的程序的效率呢,这真是挺有意思的事情,希望大家去多多思考, 同时欢迎大神解答我的疑惑,为什么:越灵活效率就会相应的降低?