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