У меня есть цепочка декораторов, которая выглядит так при первоначальном создании:
IType calculator = new TypeADecorator(
new TypeBDecorator(
new TypeCDecorator(
new MyCalculator())));
Каждый из этих декораторов просматривает базу данных, чтобы получить часть данных, которая используется в расчете
Однако не все эти декораторы будут использоваться каждый раз. Следовательно, потенциально могут быть избыточные вызовы базы данных, которые ничего не возвращают
Так что я думаю, что было бы лучше динамически создать цепочку декораторов, основанную на том, какие из них используются
1010 *, например *
Если бы у меня был bool, представляющий каждый, который используется:
bool useTypeA;
bool useTypeB;
bool useTypeC;
Смогу ли я как-то динамически построить необходимую цепочку?
Имейте в виду, что весьма вероятно, что другие декораторы будут добавляться на протяжении всего жизненного цикла приложения, поэтому я хотел бы придумать что-то, что является достаточно гибким. Кроме того, хотя здесь только три декоратора, в действительности на данный момент используется около 8