Я занимаюсь разработкой API, в котором класс А, производный как класс B.Как заменить базовый класс с производной базового класса
если пользователь API хотят расширить функциональные возможности обоих классов А и класса B в уровень приложения, тогда будет проблема.
Предположим, что пользователь приложения имеет класс AX, расширяющий класс A, и класс BX, расширяющий класс B. В этом случае пользователь не получает ожидаемое поведение для класса BX, так как базовый класс класса Bs является классом NOT класса AX.
Мысль: пользователь приложения может расширить класс BX, используя как класс B, так и класс AX, но в этом случае я думаю, что будет известно поведение алмазов.
Я хотел бы знать, любой стандартный способ решения этой проблемы.
Я бы предложил избегать наследования и вместо этого использовать какую-то инъекцию зависимостей (A получает объект A, B получает объект A и B), внешние пользователи определяют отображение A 'на AX и B' на BX - - проблема решена) – Cameron