假设有两个域实体:
- 带有方法addNewImage ()、removeImage ( $imageId )、getImages ( $from, $count ) 的 UserImages。
- 带有字段name、age、mainImageId等的UserProfile 。
域内需要以下功能:当应用层调用UserImages -> addNewImage()时,会自动设置UserProfile -> mainImageId以防它为空。
那么,实现域内超实体业务逻辑的最佳方式和最佳位置是什么?具有观察服务、引用实体的特殊服务或其他方式的领域事件?
我使用某种工厂创建所有实体,即
$userImages = Domain::userImages($userId); // getting an instance of UserImages
$newImageId = $userImages -> addNewImage(); // adding a new image
我还应该提到,我的项目中将有很多如上所述的逻辑。
非常感谢您的帮助!