我在下面的一个类用Web服务响应消息写入映射。
public class someclassA
{
public int properyA {get;set;}
public int properyB {get;set;}
public int properyC {get;set;}
public int properyD {get;set;}
}
public class someclassB
{
public int properyX {get;set;}
public int properyY {get;set;}
public int properyZ {get;set;}
}
现在要求someClassA应该使用someClassB中的一些属性并添加3个更多的计算属性,例如propertyE,propertyF,propertyG等。
关于模式的问题是我应该创建完全不同的someClassAB来获得someClassA和3个新属性的所有属性,还是应该首先用所有这些additinal字段构造someClassA?
干杯。
答案 0 :(得分:2)
这是要记住的规则。如果A“是”B,则使用继承。否则,将它们作为单独的对象。继承只应在子类真正是父类的更具体形式的情况下使用。
考虑维护。当对象在未来开始变得越来越分散时会发生什么?现在你已经使用了类型,只有20%的属性在给定的上下文中才有意义。
更不用说,如果您在不相关的实体之间有明确的界限,那么您的代码将更具可读性。每次将继承投入到图片中时,在阅读代码时,您还需要有一个“上下文”。如果你混合对象(坦白地说是懒惰),代码的可读性就会受到影响。