1

我有一个下面的类,它被编写为使用 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 个新属性,还是应该首先构建带有所有这些附加字段的 someClassA?

干杯。

4

1 回答 1

2

这是要记住的规则。如果 A“是”B,则使用继承。否则,使它们成为单独的对象。只有在子类确实是父类的更具体形式的情况下才应使用继承。

想想维护。当未来物体开始越来越发散时会发生什么?现在你已经使用了类型,其中只有 20% 的属性在给定的上下文中有意义。

更不用说,如果您在不相关的实体之间有明确的界限,您的代码将更具可读性。每次您将继承放入图片中时,您在阅读代码时都会多一个“上下文”。如果混合对象(坦率地说是出于懒惰),代码的可读性会受到影响。

于 2012-05-11T13:57:35.710 回答