C# Unity паттерн Декоратор

Пишу систему которая динамически добавляет функциональность объектам.

Все хорошо когда я работаю с MVP Presenter - когда применяю паттерн Декоратор - Decorator. Но когда нужно расширить View - представление без наследования, то я не знаю как добавить новую функциональность для классов MonoBehaviour. И вообще я уже сомневаюсь что Decorator подходит для этой задачи. Помогите рассудить пожалуйста.

  1. Есть решение отказаться от Decorator но, это решение приводит к множеству вариаций классов наследников и соответствующих представлений - View.

  2. Так же есть решение применить Decorator для Presenters но, сделать много вариаций для представлений - Views.

  3. Использование Decorator + что-то придумать с COOP - компонентном ориентированным.

Как это должно выглядеть в идеале:

Настройка объекта - происходит в редакторе не динамически и с возможностью сделать динамически. Я определяю объект с его конкретными View - базовой, и добавляю на него отдельные компоненты - которые должны управляться через Presenter динамически декорированным под эту View с его компонентами.


Ответы (1 шт):

Автор решения: Any 3Develop

Я решил отказаться от декоратора так, как у меня просматривались нарушения ответственности. Когда я разграничил ответственности, стало ясно, что обычное наследование вполне покрывает все возможные требования. Потратил много времени, а мог бы не полениться и сразу проверить по принципам SOLID."

Цитата бородатых : "Как многие говорят, паттерны ради паттернов не стоит использовать."

→ Ссылка