网 上 书 城

1.3为什么使用三层架构

  • 使用三层架构的目的:解耦!!!
  • 同样拿上面饭店的例子来讲:
    • 服务员(UI层)辞职——另找服务员;厨师(BLL层)辞职——招聘另一个厨师;采购员(DAL)辞职——招聘另一个采购员。
    • 顾客反映:店里服务态度不好——服务员的问题,开除服务员;店里菜里有虫子——厨师的问题,换厨师。
  • 任何一层发生变化都不会影响到另外一层!!!

1.4三层与一层的区别

一层

 

  • 当任何一个地方发生变化时,都需要重新开发整个系统。“多层”放在一层,分工不明确,耦合度高——难以适应需求变化,可维护性低、可扩展性低。

三层

  • 发生在哪一层的变化,只需更改该层,不需要更改整个系统。层次清晰,分工明确,每层之间耦合度低——提高了效率,适应需求变化,可维护性高,可扩展性高。

1.5三层架构的优势和劣势

  • 优势:
    • 结构清晰、耦合度低
    • 可维护性高,可扩展性高
    • 利于开发任务同步进行
    • 容易适应需求变化
  • 劣势:
  • 降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
  • 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
  • 增加了代码量,增加了工作量。