Добавить комментарий

Изображение пользователя st.

Не зависит от

Не зависит от предметной области (ПО), зависит от применяемой техники.
При моделировании ПО наследование в 3 уровня практически всегда означает ошибку в проектировании. Для небольших задач в пару-тройку десятков классов это может не мешать или вовсе не проявляться. Проблемы начнутся, когда рядом встанет смежная задача с пересечением по нескольким классам.
В вашем примере "Контрагент", "Покупатель" - это контейнеры, содержащие ссылку на организацию или персону, тогда проблема решается без наследования.
Запрос будет выглядеть на SQL в виде соедиениния (INNER JOIN) вьюшек контрагентов и организаций/персон с возможным UNION если у организаций и персон есть общие атрибуты.