原文链接:http://bbs.51cto.com/thread-970161-1.html


优点

  1、开发人员可以只关注整个结构中的其中某一层;


  2、可以很容易的用新的实现来替换原有层次的实现;


  3、可以降低层与层之间的依赖;


  4、有利于标准化;


  5、利于各层逻辑的复用。



缺点


  1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。


  2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。