我对 OOP 中的贫血域模型有点困惑。是一种普通的旧 X 对象包(其中 X 代表您喜欢的语言),没有行为(和责任)。
class AnemicDomainClass {
private $property;
public function getProperty() {
return $this->property;
}
public function setProperty($property) {
$this->property = $property;
}
}
...所有逻辑都在某些服务中?
class SomeStuffService {
public static function doSomething(AnemicDomainClass $class) {
$class->setProperty(42);
}
}
这出现在Martin Fowler的AnemicDomainModel文章的末尾
通常,您在服务中发现的行为越多,您就越有可能剥夺自己从领域模型中获得的好处。如果您的所有逻辑都在服务中,那么您已经蒙蔽了自己。
这意味着什么?最好使用智能对象而不是智能服务。