为什么喜欢构图而不是继承呢?每种方法都有哪些权衡取舍?什么时候应该选择继承而不是作文?
我在工作中讨论过"域模型中的继承使开发人员生活变得复杂".我是OO程序员,所以我开始寻找在域模型中具有继承性的论据,这样可以简化开发人员的生活,而不是让交换机遍布整个地方.
我想看到的是:
class Animal {
}
class Cat : Animal {
}
class Dog : Animal {
}
Run Code Online (Sandbox Code Playgroud)
另一位同事说的是:
public enum AnimalType {
Unknown,
Cat,
Dog
}
public class Animal {
public AnimalType Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我如何说服他(链接是欢迎的)一个类层次结构比在这种情况下具有枚举属性更好?
谢谢!