У меня была дискуссия на тему "Наследование в модели домена усложняет жизнь разработчиков". Я программист OO, поэтому я начал искать аргументы, которые имеют наследование в модели домена, облегчат жизнь разработчика, вместо того, чтобы переключаться повсюду.
Что бы я хотел увидеть, это:
class Animal {
}
class Cat : Animal {
}
class Dog : Animal {
}
Что говорит другой коллега:
public enum AnimalType {
Unknown,
Cat,
Dog
}
public class Animal {
public AnimalType Type { get; set; }
}
Как убедить его (ссылки ДОБРО ПОЖАЛУЙСТА), что иерархия классов будет лучше, чем наличие свойства enum для таких ситуаций?
Спасибо!