【发布时间】:2017-01-27 17:57:15
【问题描述】:
我有一组大约 20 个属性,我需要在两个不同的实体(类)中用于分层覆盖设置系统。
所以,我能想到的简单想法是,用这 20 个通用属性创建一个抽象类,并在两个实体中继承抽象类。
但这行不通,因为我还有一些更常见的属性,这些属性对所有实体都是通用的。所以我已经继承了所有实体。而这 20 个属性并不是所有实体都通用的(只有两个 - 三个)。因此我无法在现有抽象类中添加这 20 个属性。
我尝试创建一个接口并实现它,但后来我忘记了我需要在具体类中实现它。因此,如果我必须在具体的类中定义它们,那无助于解决我的问题。
有什么想法吗?这样做的正确方法是什么?在不久的将来,我可能会在少数实体中拥有一些更常见的属性。那么我应该怎么做,在不重新访问和重写每个实体中的公共属性的情况下保持公共属性之间的一致性?
【问题讨论】:
-
复合而不是继承怎么样?
-
@CrudaLilium Well 复合材料不起作用,因为我这样做是为了定义 EF 类。
标签: c# oop object-oriented-analysis