1
我正在将一个旧的过程式PHP网站重构为一个美味的OOP应用程序,并使用轻量的域驱动设计来增添趣味。OOP值对象和同一类中的实体
我一直在磕磕绊绊,因为我需要可以具有实体或值对象的子类的类。例如,
一个url对象。那里有十亿个网站,所以他们都不可能真正成为实体。但有些是非常特殊的URL,比如我的主页。这是一个实体。
另一个例子是'配置对象'。我想要一些配置有身份,所以我可以创建“预设”,并通过在线控制面板进行管理。对于需要找到它们的查找器/存储库,需要使用ORM来管理它们的生命周期。但是,对于其他“不预先设置”(同一个类层次结构),我希望能够将它们加载到已经实时定制的数据中,并且不需要持久化。
我设想了很多:
class factory {
reconstitute($rawdata) {
if (raw data has identity)
load up and return entity version of the class
else
load up and return anonymous/value object version of the class
这一切似乎有点奇怪。
有没有什么模式讨论处理这个问题的最佳方法?
是的,谢谢。这很有帮助。我一直痴迷于让我的实体类抛出任何试图在没有id的情况下创建它们(我不明白他们如何使用'Identity Map'(PoEAA))。所以,我想你是在说放松,让对象存在没有身份 - 这将解决当前的问题。 – 2010-07-29 21:49:45
p.s.什么是'EF'? – 2010-07-29 21:50:10
EF =实体框架 – 2010-07-29 22:18:36