网 上 书 城
1.3为什么使用三层架构
- 使用三层架构的目的:解耦!!!
- 同样拿上面饭店的例子来讲:
- 服务员(UI层)辞职——另找服务员;厨师(BLL层)辞职——招聘另一个厨师;采购员(DAL)辞职——招聘另一个采购员。
- 顾客反映:店里服务态度不好——服务员的问题,开除服务员;店里菜里有虫子——厨师的问题,换厨师。
- 任何一层发生变化都不会影响到另外一层!!!
1.4三层与一层的区别
一层:
- 当任何一个地方发生变化时,都需要重新开发整个系统。“多层”放在一层,分工不明确,耦合度高——难以适应需求变化,可维护性低、可扩展性低。
三层:
- 发生在哪一层的变化,只需更改该层,不需要更改整个系统。层次清晰,分工明确,每层之间耦合度低——提高了效率,适应需求变化,可维护性高,可扩展性高。
1.5三层架构的优势和劣势
- 优势:
- 结构清晰、耦合度低
- 可维护性高,可扩展性高
- 利于开发任务同步进行
- 容易适应需求变化
- 劣势:
- 降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
- 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
- 增加了代码量,增加了工作量。