В моем приложении на данный момент у меня (как и во многих других приложениях) объект под названием Contact
, который представляет любого человека. На самом базовом уровне это используется для представления деловых контактов. Однако он также может использоваться для представления сотрудников компании. и есть также несколько специальных типов сотрудников (скажем, есть один под названием Manager
)
Я пытаюсь моделировать это как отношение наследования, которое имеет смысл. Сотрудники имеют имена и адреса, как и контакты, а также ряд атрибутов, связанных с занятостью. Менеджеры также имеют несколько специфических для менеджера атрибутов.
Трудность возникает, когда работник получает повышение до менеджера. Можно ли преобразовать базовый класс Employee
в наследующий класс Manager
? Он чувствует себя не так. Думаю, я сделал бы это со специализированным конструктором на Manager
.
Как в стороне NHibernate поддерживает такое поведение? это так же просто, как получение сотрудника, создание менеджера из сотрудника, а затем сохранение менеджера?