通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
个人(模型)理解:图书馆
现实当中的图书馆,从管理的角度上来讲, 要分
高层管理(如馆长,副馆长)
中层管理(处级干部,组长,队长什么的)
底层工作人员(前台的服务员,书籍的维护人员)。
高层管理(如馆长,副馆长)
中层管理(处级干部,组长,队长什么的)
底层工作人员(前台的服务员,书籍的维护人员)。
我们现在把图书馆当中的角色拿出来。
1. 馆长,副馆长(职责:管理中级干部,制定相关制度)
2. 中级干部。(职责:管理底层工作人员,处理职责范围内事务)
3. 前台的服务员。(职责:接待顾客)
4. 书籍管理人员(职责:管理书籍)
现在,我们来理解三层架构。
数据库 : 书籍
表示层: 前台服务员 (前台服务员是用户打交道的第一印象,长得漂亮、声音甜美,服务态度好、专业性强来图书馆的男人越多,)相当于(表示层是浏览者打交道的第一印象,界面设计的美观,动感,以及是否符合顾客的习惯,能否迅速找到想要的答案。是上网流量重要因素之一)
业务逻辑层: 中级干部、副馆长、馆长 (图书馆里的具体事务,或特殊需要都是由相关的人去处理,比如,有一个人在图书馆闹事了,你要服务员去处理,这很不现实, 肯定是根据闹事的大小,出来处理的人物是不同的。一个人只是在图书馆里吵闹几句,中级干部出来道歉就可以了,要是一个人带了一群人来闹事,副馆长怎么地也要表个态吧。再比如:图书馆里要采购书,肯定是采购部门的人士去采购。不同的任务,不同的部门,去处理)相当于(业务逻辑层:用来处理具体的事务,针对不同的任务,用不同的方法去处理)
数据访问层: 书籍管理人员 (书籍管理人员,主要跟书籍打交道,但其中有个特性要注意,书籍管理人员,只知道自己所管的那块书,比如,科技书籍管理员他只知道科技类书在那行那排那个书架上。你要找这类书, 他都知道。再比如,这类的哪些书过时了,要扔,哪些书要进货,哪些书要更新。他都有处理的能力)相当于(针对数据的增添、删除、修改、更新、查找等)
现在我们来看看,合在一起后的效果。
有一个人叫小明,来图书馆借书。一进图书馆,美丽的 (服务员) [表现层(UI)] 就站在了面前 , 服务员态度很好,声线甜美,她说:你好,请问您要什么样的书籍? 小明说了:我要借本《故事大全》,服务员说:请请稍等,我帮你到书籍询问处去问下。服务员到了(书籍询问处 ) [业务逻辑层(BLL)] ,询问处说:他这是故事类的,要到故事类专区找。这样吧,你稍等,我去找(书籍管理员小王 ) [数据访问层(DAL)] 去把这书找来。询问处的人到了书籍管理员小王,小王找到了书并交给询问处,询问处于是把书给了服务员,服务员把书给了小明。
结果在大厅等书的小明在服务员处拿到了《故事大全》。
注意:
1、小明只知道服务员,他不知道后面的操作过程,也没必要知道。(用户只和表示层打交道,其它的层用户没必要去知道。)
2、专业性强。找书的专业找书,服务的专业做服务,问书的专业问书,专业性很强。当专业的人聚在一起的时候,团队作用下,一个团队能办就很强。
这就是所谓的。高内聚,低耦合(内聚:一个模块内各个元素彼此结合的紧密程度。 耦合:一个软件结构内不同模块之间互连程度的度量),内聚:是内部团结。耦合:是指部门之间的依赖。比如服务员,在服务的时候, 她不需要书籍管理员来帮忙。
转载请联系作者:ccflower ;打字很艰辛,同志很理解。
具体实例与概念结合,请看下集