什么是3-tier archtecture?
后端开发中,因为每个层次的职责定义不一样,每个层次涉及的知识不一样,为了更好的解耦程序,隔离关注点,使得每层能够关注每层的point,处理不同的事情.常见的就是三端分离结构,程序员们提出了数据层,业务层,表示层的概念.这里会有疑问,为什么不用layer,大概tier 有垂直的含义.当然,在计算机概念中,分层概念比比皆是,比如网络中的OSI层次.
这里又有个疑问,既然三层都各司其职,都关注自身的事情,什么东西能够让他们三个串在一起,答案是实体,这里引用参考的描述,
Entity在三层架构中的作用:
- 1、实现面向对象思想中的"封装";
- 2、贯穿于三层,在三层之间传递数据;(注:确切的说实体层贯穿于三层之间,来连接三层)
- 3、对于初学者来说,可以这样理解:每张数据表对应一个实体,即每个数据表中的字段对应实体中的属性(注:当然,事实上不是这样。为什么?
- 1),可能我们需要的实体在数据表对应的实体中并不存在;
- 2),我们完全可以将所有数据表中的所有字段都放在一个实体里)
- 4、每一层(UI—>BLL—>DAL)之间的数据传递(单向)是靠变量或实体作为参数来传递的,这样就构造了三层之间的联系,完成了功能的实现。
但是对于大量的数据来说,用变量做参数有些复杂,因为参数量太多,容易搞混。比如:我要把员工信息传递到下层,信息包括:员工号、姓名、年龄、性别、工资.