层级层次控制

任何分复杂系统都能把它的功能组织到一个控制模块的分级层次结构中。

问题

大型软件工程系统往往由多个模块组成,每个模块都有自己的功能。这些模块之间的关系往往是复杂的,因为它们之间的交互往往是多种多样的:

  • 往往很难设计和管理
  • 在不同的系统中重用某些重要的功能

解决方案

单层系统的结构往往是简单的,但是随着系统的复杂度增加,这种结构就会变得不可维护。为了解决这个问题,我们可以把系统的功能组织到一个控制模块的分级层次结构中。 这种结构可以使系统的功能更加清晰,也可以使系统的功能更加容易重用。

简单来说,添加新的分层来解决问题。

例子:MVC 到 DDD

DDD Layered

参考资料

  • 《程序设计的模式语言:卷 1》