显示层UI、业务逻辑层BLL、数据访问层DAL
(1)UI:展现给用户的界面,采集信息和操作
(2)BLL:对数据进行逻辑处理
(3)DAL:主要是对数据库的操作,对数据的增删改查等
(1)解耦,便于修改(比如:有些错误,可能找到某一层,改就好,不用改别的层)
因为耦合性越强,模块的独立性越差,这样会出现“牵一发儿而动全身”的情况,而降低耦合性,这样就可以比如想要改一个地方,不用改很多地方。
(2)复用,减少劳动量(比如:对数据的一些重复性操作,单独放在一个Modle里,在别的层直接调用就好)
当业务复杂,数据存储到数据库的时候就要用三层了
而业务逻辑简单、没有数据存储的话就不用三层了
其实运用三层正是符合“高内聚低耦合”的思想,不过其实也只是降低耦合度,并不会一点也不耦合。其实什么都是有双面性的,有利也有弊。而运用三层的弊就是降低了系统的性能,系统本来要访问某个东西,还得通过中间层。不过,其实还是运用三层的利大于弊