实体和价值的对象网络应用程序
-
09-06-2019 - |
题
我们有一个简单域模型:联系人、电话号码和ContactRepository.接触的实体,它有一个标识的领域。电话号码是典型价值的对象:没有任何身份并不能够载入单独的联系的实例。
从另一边我们的网应用程序用于操作的联系人。第1页是"ContactList",下一页是"联系/C0001",这显示了详细联系方式和列表的电话号码。
我们必须实现掉坠数字编辑的形式。第一近似的想法是,添加一些网页,其中将航像'ThelephoneNumber/T0001'.
但ThelephoneNumber是值对象类和它的实例不能确定这种方式。
什么是最佳做法,为解决这一问题?我们如何可以识别的非identifieble对象在无国籍的应用程序?
解决方案
没有价值的对象国家确定具体实例?如果你不能只是通过回旧的价值和新的价值时,该编辑的形式提交,然后更新的任何对象老国家的新的状态。
我宁愿要一个页面像联系/C0001/ThelephoneNumber,并使用这两个联系人标识和价值的对象类别的实例,你想要改变。
除非我完全误解你的要求。
其他提示
我会让的电话号码只是含有一堆数字(也许让它复数),并提到它是这样的:联络/C0001/电话号码(s)
在实践中,我总是发现更容易得到电话号码一个身份,即使它不是严格必要在设计条款。
如果这是一个严格价值的对象不存在的上下文以外的接触,表示良好的用户界面可以呼叫的电话号码进行编辑内联网页而不是在其自己的网页。
但是我认为马克*齿轮的解决方案是一个很好,如果你决定对这些两种方法。
尽管许多人希望你相信,你可以不是100%纯度。
你的价值的对象需要某种形式的身份的领域。有时,这将是一些独特的对象像一个电话号码,有时它会有什么人为的,像电话号码.身份证。
你越早接受这一点,更好地为您:-)