Какой шаблон проектирования подходит для применения атрибутов к классу, который меняет его поведение? - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь найти лучший способ структурировать свой проект. То, что я хотел бы сделать, это иметь «Структуру», которая состоит из нескольких «частей». Эти части также будут иметь отдельные атрибуты, например, они могут вращаться, зависать, вибрировать, прыгать, дрожать, расти, ускоряться.

Так, например, у меня может быть «структура», называемая человеком, которая состоит из 6 "частей". Я собираюсь установить каждую часть на один из доступных вариантов, поэтому в этом случае 2 части будут руками, 2 части - ногами, одна часть - туловищем, а другая - головой. Теперь я хочу иметь возможность применить атрибут вращения к одной из частей, руке. Так что теперь у меня должен быть человек с вращающейся рукой.

Кроме того, я хотел бы, чтобы другие люди могли создавать свои собственные атрибуты, структуры и части Cusom.

Я хотел бы получить представление о том, как я должен структурировать свой код, и применить атрибут к детали. Кроме того, какой шаблон дизайна подойдет для этого?

1 Ответ

1 голос
/ 13 января 2020

Требуется наличие единого интерфейса для композиции различных объектов / компонентов.

Для этого требования есть 2 подходящих шаблона проектирования.

  1. Фасад (https://dzone.com/refcardz/design-patterns?chapter=17)
  2. Составной объект (https://dzone.com/refcardz/design-patterns?chapter=15)

Шаблон фасада можно использовать, когда необходимо абстрагировать способ сборки внутренних компонентов.

Шаблон составного объекта можно использовать при сборке компоненты должны быть объявлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...