Android应用中的DDD:聚合与应用服务之间的通信



我正在尝试在Android项目中应用domain driven design。有一个常见的用例,User想要更改他/她的名字,这个新名字应该与后端同步。

class User {
// ...
fun changeName(newName:String, service: AccountService) {
val changed = service.changeName(newName)
if (changed) {
name = newName
}
// fire UserNameChanged event
}
}
正如上面的代码片段所示,我可以注入应用程序服务来与后端进行同步吗?还是有更好的方法?提前谢谢。

根据与@islandcoder876的邮件

我通常通过存储库运行我的CRUD操作。

流程如下:将用户信息传递给应用层>应用程序层从信息中构造用户模型;应用层调用基础设施层存储库的更新方法>运行必要的网络调用,将用户信息发送到后端。

你可以发送整个用户对象,也可以只发送你想要更新的字段。


贫血域模型并不像看起来那么糟糕,有争论并反对它。领域模型上的方法通常是业务规则具体来说,我不认为改名是商业规则,那只是一个crud操作

我想说,不要把它复杂化,试图使它适合严格域的期望。贫血模型不会破坏任何东西。

最新更新