DDD(领域驱动设计)学习笔记--分层架构

      编写处理非常复杂任务的软件需要分离关注点,这样允许隔离地设计软件的不同部分。同时,不管是否分离,都要维护好系统中复杂的交互。

      分层的基本原则是:某一层中的所有元素都只能依赖于同一层中的其它元素或者依赖于其直接的下层元素。向上的信息传递必须经过一些间接机制。

       分层的意义在于每层都只负责计算机程序中的某一个特定方面,这种基于专责的划分,可以使各方面的设计更加具有内聚性,并且使得这些设计更加容易解释。

 

       大多数成功的分层设计都可以使用四种概念层的某些版本来实现:

  • 用户界面层(表示层):负责向用户显示信息,并且解析用户命令。外部的执行者有时会是其它的计算机系统,不一定是人。
  • 应用层:定义软件可以完成的工作,并且指挥具有丰富含义的领域对象来解决问题。这个层所负责的任务对业务影响深远,对跟其它系统的应用层进行交互非常必要。这个层要保持简练。它不包括处理业务规则或知识,只是给下一层相互协作的领域对象协调任务,委派工作。在这个层次中不反映业务情况的状态,但反映用户和程序的任务进度的状态。
  • 领域层(模型层):负责表示业务概念、业务状况的信息以及业务规则。尽管保存这些内容的技术细节由基础结构层来完成,反映业务状况的状态在该层中被控制和使用。这一层是业务软件的核心。
  • 基础结构层:为上层提供通用的技术能力--应用的消息发送、领域持久化,为用户界面绘制窗口等。通过架构框架,基础结构层还可以支持这四层之间的交互模式。

你可能感兴趣的:(设计模式,框架,工作,领域模型)