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

контейнер -> классификатор -> класс

> Не зависит от предметной области (ПО), зависит от применяемой техники.
> "Контрагент", "Покупатель" - это контейнеры, содержащие ссылку на организацию или персону

Предположим, согласно правилам предметной области потребуется проверять соответствие типа, примеры:
а) ссылка в "заказе" в поле "заказчик" может быть только типа "покупатель"
б) параметры кредитной линии можно задать типу "покупатель"
в) баланс купли-продажи можно подготовить для типа "контрагент"
и т.д.
Т.о., по сути, вашей системе придется использовать проверку наличия в соответствующих контейнерах как принадлежность к некоторому типу/классу, со всеми вытекающими (например, потребность представления этих контейнеров в GUI в качестве классификаторов/классов/типов) => контейнер перестает уже быть "контейнером" и потихоньку превращается в класс/тип...а система продолжает применять две техники ("классов" и "контейнеров") в практически одинаковых ситуациях...
Все IMHO, разумеется:)

> При моделировании ПО наследование в 3 уровня практически всегда означает ошибку в проектировании.
Т.е., например дотнет - сплошная ошибка проектирования? ;)