我试图将我的DAL与我的业务层分开,在这样做的时候,我决定避开任何ActiveRecord方法并采用DataMapper方法.
换句话说,我的域对象不会保持自己的持久性.在这样做的过程中,我似乎正在蚕食“贫血领域模式”的反模式.例如,我的计划中的一个实体是一个组织.
换句话说,我的域对象不会保持自己的持久性.在这样做的过程中,我似乎正在蚕食“贫血领域模式”的反模式.例如,我的计划中的一个实体是一个组织.
组织代表如下:
class Organization { private $orgId; private $orgName; // getters and setters }
因此,基本上这个组织除了作为“包”(如Martin Fowler所说)的某些数据之外什么都不做.在PHP世界中,它只不过是一个美化的数组.与之相关的行为为零.
在程序中的行为,我一直坚持像“组织服务”这样的“服务级”类,它主要作为这些对象和DAL之间的中介.
除了PHP的潜在扩展问题(我还有其他原因,我坚持在这些对象中“装袋”我的数据),这种方法是完全关闭的吗?
在这些情况下,您如何处理域模型?
也许组织首先不属于我的域名?