采用DDD的系统Java代码的安排记录

本文仅做个人记录。

项目需要一个顶层包,这和采用其他类型设计的项目没有区别。比如:

顶层包:com.mycompany.myprjname [myprjname为项目的名称]

每个限界上下文使用一个单独的工程来表示,这个功能的包命名在myprjname 下一层:

com.mycompany.myprjname.cumtomer.domain, [cumtomer表示“客户”这个上下文的主要包],基本应该不含类和接口的定义

com.mycompany.myprjname.cumtomer.domain.model,可包含实体,值对象,服务等,服务不单独设置包(可能导致贫血模型)

在下面可分模块,模块在customer下再分包:

com.mycompany.myprjname.cumtomer.repository 【存储库的包】

com.mycompany.myprjname.cumtomer.infrastructure 【基础架构包】

这些包不参与领域模型的直接功能,定义到子包下没有什么影响。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...