我正在计划为应用程序组件实施继承映射器模式 http://martinfowler.com/eaaCatalog/inheritanceMappers.html
它需要具有的一个功能是域对象可以引用大量聚合项(10,000 个其他域对象)
所以我需要某种延迟加载集合从聚合根域对象传递到其他域对象。
为了使我的(php)模型脚本井井有条,我将它们存储在两个文件夹中:
MyComponent\
controllers\
models\
domain\ <- domain objects, DDD repository, DDD factory
daccess\ <- PoEAA data mappers, SQL queries etc
views\
但现在我绞尽脑汁想知道我的延迟加载集合在哪里。它似乎跨越了两层。在内部它是一种数据映射器,在外部它是一个域对象。
将它放在一个地方而不是另一个地方的任何建议/理由?
- daccess = 数据访问
- DDD = 领域驱动设计模式,Eric Evans - 书籍
- PoEAA = 应用程序架构模式的模式,Martin Fowler - 书