看了比较多的观点。比较相信,主要是为了实现程序
1.模块之间的高内聚,低耦合。每一个层只用关心它要提供的功能,而不用管其他层。比如UI层只用接收用户的输入,并且向BLL层传递数据。三层的架构要做到修改UI层不会说要更新业务逻辑层,而更新业务逻辑层不用更新数据访问层的dll.
2.代码复用,比如数据访问层和COMMON层只关心一些原子性的操作。所以可以复用。