Можно ли повторно использовать декораторы?Могу ли я использовать декораторы?
У меня есть ClientDecorator
украсить объект, который имеет ссылку на клиент, это декоратор получает клиент на базе по вызову getClient (прежде чем он будет оформлен, этот метод возвращает ClientId, после того, как оформлен, он возвращается экземпляр Клиент).
Хорошо, но у меня есть другие объекты, которые могут быть украшены одним и тем же декоратором, например, у меня есть другая таблица с именем questions
, эта таблица имеет ссылку, указывающую на клиента, задавшего вопрос, и я есть другая таблица с именем schedules
, которая имеет ссылку клиента.
Кстати, я могу украсить question
и schedule
с ClientDecorator
.
Но у меня есть QuestionDecorator
; этот парень украшает Answer
и т. д.
Как я могу сделать эту абстракцию, чтобы я мог повторно использовать декораторов всякий раз, когда захочу?
Я пытался создать ClientDecorable
, QuestionDecorable
интерфейсы, но они не достигли прогресса.
Вам нужно определить интерфейсы. Так же, как вы писали. Ваш декоратор будет принимать только компоненты, реализующие определенные интерфейсы. Это путь. Отправьте код, который у вас есть. – busypeoples
Gimme example @busypeoples –
Вы заметили, что '* Decorator' является плохим именем для декоратора? Вы должны дать описание описательных имен ... Трудно сказать, что вы можете или не можете сделать, если не знаете, какие функции изменит ваш декоратор ... –