脚本:
对WCF服务使用分层方法:将域/dto对象返回到客户端的业务服务。还在开发中,所以我们可以解除合同。
人对象有名字和姓氏。成员对象具有税务文件编号和出生日期。这是因为,在我们的领域中,只有成员才能获得税务文件编号和出生日期。当使用此结构从服务获取数据时,很明显哪些属性是适用的。
现在,我们介绍了另一个对人有用法的服务——比如说雇员。在此用法中,person对象需要附加属性tax file number和出生日期。
最好的方法是什么?
1)将Person对象视为普通人,并包含所有属性。这将人映射到现实世界中的人,而不一定基于用法。这意味着返回人员的服务将包括税务档案编号和出生日期,即使它们可能不相关。
2)将附加字段复制到Employee中。这使人员保持原样,并以重复为代价保持特定的服务调用。
3)在我们为成员和员工继承的名为PersonWithDoBtfn的对象之间创建另一个。这样可以消除重复,保持特定的内容,但会带来复杂性。
我正在寻找设计这些对象的最佳实践方法。