package infrastructure /** * DDD: infrastructure 基础实施层是最底层(但与所有层进行交互)。 * 向其他层提供通用的技术能力(比如工具类,第三方库类支持,常用基本配置,数据访问底层实现) * 基础实施层主要包含以下的内容: * 为应用层传递消息(比如通知) * 为领域层提供持久化机制(最底层的实现) * 为用户界面层提供组件配置 * 基础设施层还能够通过架构框架来支持四个层次间的交互模式。 **/ /** * 1、站在领域层更过关心领域逻辑的层面,仓储作为领域层和基础结构层的连接组件, * 使得领域层不必过多的关注存储细节。在设计时,将仓储接口放在领域层, * 而将仓储的具体实现放在基础结构层,领域层通过接口访问数据存储, * 而不必过多的关注仓储存储数据的细节(也就是说领域层不必关心你用mongo还是pg来存储数据), * 这样使得领域层将更多的关注点放在领域逻辑上面。 * 2、仓储解耦了领域层和ORM之间的联系,这一点也就是很多人设计仓储模式的原因, * 比如我们要更换存储框架,我们只需要改变仓储的实现即可(例如:mongo改成pg), * 对于领域层和仓储的接口基本不需要做任何改变。 **/