层的基本原则:上层只能使用同层及其直接的下层。
我们使用层并赋予每一层特定的含义和职责来划分系统。
但是层的基本原则会引发另一些问题
1、比如:有5个层,第5层需要一个功能,这个功能在第1层已经实现,那么则需要在2,3,4层涵盖这个功能(Facade),
这里有两种做法,组合和继承,设计原则告诉我们组合优先于继承,但是这样做如果有10、20、。。。更多个方法,这样就充斥着大量的
Facade方法,这时就不得不放弃组合,选择继承(仿PetShop的项目居多,BLL变成了DAL的Facade,其实三层的划分并不完善,用PetShop说这个有点不合适).
2、有时我们需要下层调用上层,这个我以前也讨论过,PetShop就是这个例子。http://www.cnblogs.com/bmrxntfj/archive/2008/07/08/1237968.html
要解决以上问题,必须做以下几点
1、改变分层基本原则:上层能使用同层及其直接或间接的下层
2、确定以某一层为中心。
3、只能上层调用下层,不允许下层调用上层。

相关文章:

  • 2022-02-25
  • 2021-05-25
  • 2021-12-03
  • 2021-04-10
猜你喜欢
  • 2021-11-19
  • 2022-12-23
  • 2021-07-27
  • 2021-04-22
  • 2022-12-23
  • 2022-01-07
相关资源
相似解决方案