У меня есть ситуация, когда у меня есть два типа клиентов. Человек и организация. Есть некоторые атрибуты, которые Person не имеет в организации (например, Имя, Фамилия и т. Д.). Кроме того, есть некоторые атрибуты организации, которые не нужны Person (например, название компании и т. Д.). Но в области программного обеспечения клиенты и Компания являются клиентами.
Вопрос: лучше ли создавать дамп всех атрибутов в одном доменном объекте под названием Customer и различать между person и org, используя bool типа IsOrganization ??
ИЛИ ЖЕ
Лучше иметь класс домена Person, класс домена Organization и класс домена Customer, который содержит свойства Person и Organization.
Я чувствую, что последний путь, но я открыт для идей.
Отношение клиент - человек - от 0 до n, где n = 1
Отношения между клиентом и организацией также составляют от 0 до n, где n = 1
Если это поможет, я использую NHibernate и FluentNHibernate. Принимая код первый подход.