分离领域(Layered Architecture)

领域分离说白了就是业务分离,我们需要将业务对象与系统中的其他功能分离,这样就能够避免业务对象和其他软件技术相关的概念相互混淆,这样有一种好处就是易于维护。于领域分析相反的一种模式被老外成为“smartUI”,在小规模的软件中smartUI还是有一定的好处,易于开发,很多初学者就很容易上手。我发现我一开始写的代码都是直接将业务相关的代码直接写在界面下,代码显得非常混乱。后来要求换一种业务协议开发,我想哭了,又要从头开发了!最多最多也就能复制下可用的代码!要是业务和协议经常变更,我想没人承受的起这么无聊而又重复的工作。

分层模式:

用户界面层(表示层)、应用层、领域层(业务层)、基础设施层(common)。这种领域分层隔离的做法可以避免将领域有关的代码分散在大量的其他代码中,在领域层发生变化时,可以避免影响其他框架,我们是不知道客户会有多少奇思妙想的!

用户界面层:负责向用户(可以是该软件为之服务的任何事物,包括其他计算机系统、其他的软件等,不一定是人)显示信息和解释用户指令。

应用层:负责定义软件要完成的任务,并指挥表达领域概念的对象来解决问题。这一层负责的工作队业务层来说意义重大,也是与其他系统的应用层进行交互的必要渠道。该层应该尽量简单不包括业务规则或者知识,没有反应业务情况的状态。

领域层(模型层):负责表达业务概念、业务的状态信息以及业务规则。尽管保存业务状态的技术细节,是由于基础设施实现的,但是反应业务情况的状态是由本层控制并且使用的。领域层是业务软件的核心。

基础设施层:为上面各层提供通用的技术:为应用层传递消息,为领域层提供持久化机制,为用户界面层绘制屏幕组件等。基础设施层还能够通过架构框架来支持四个层次间的交互。

 

分离领域(Layered Architecture)

你可能感兴趣的:(架构,分层,领域)