gpt4 book ai didi

c# - 动态创建装饰器链

转载 作者:行者123 更新时间:2023-11-30 15:41:45 25 4
gpt4 key购买 nike

我有一个装饰器链,最初创建时看起来像这样:

IType calculator = new TypeADecorator(
new TypeBDecorator(
new TypeCDecorator(
new MyCalculator())));

这些装饰器中的每一个都会查找数据库以获取一段用于计算的数据

但是,并非每次都会使用所有这些装饰器。因此,可能会出现不返回任何内容的冗余数据库调用

所以我认为最好根据使用的装饰器链动态创建装饰器链

例如

如果我有一个 bool 代表每一个被使用的:

bool useTypeA;
bool useTypeB;
bool useTypeC;

我能否以某种方式动态构建必要的链?

请记住,在应用程序的整个生命周期中很可能会添加其他装饰器,因此我想提出一些非常灵活的东西。另外,虽然这里只有三个装饰器,但实际上目前使用了大约 8 个

最佳答案

是的,现在您需要了解 Builder Pattern .

关于c# - 动态创建装饰器链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com