> -- Info21 писал(а):
> Общие куски в HostFiles должны быть реализованы как простые процедуры в Files.Реализация в HostFiles их использует, и реализация в Linux тоже.Архитектура ББ в этом смысле недоработана.Но всё заранее угадать нельзя, поэтому и случается копипаста.Но это не аргумент для затычек вроде EXTENSIBLE.
Это - действительно не аргумент.
Это - ответ на Ваш вопрос: прояснить, что ABSTRACT добавляет проблему повторного использования кода. Я прояснил на примере HostFiles - проблема есть, и дело не в том, что кто-то там не угадал.

А аргумент был такой
> -- Цитата:
> Но есть ситуация, когда EXTENSIBLE вполне допустимо - когда Вы с этими проблемами управляетесь в одном модуле Module2:ABSTRACT Module1.Rec -> EXTENSIBLE Module2.Rec -> Module2.RecSpec1, Module2.SpecRec2
Скажу другими словами, что если Вы наследуете от одного абстрактного типа 10 специфических (и еще 20 в уме), то вставка между ними EXTENSIBLE в том же модуле будет оправдана. Ну там, графические объекты Rect, Oval, Circle, Text, Poly... А потом появляются типы Text3D, Rect3D. Один человек будет править этот модуль, проблемы хрупкого базового класса не возникнет.

Является ли EXTENSIBLE единственным возможным решением в этом случае? Нет.