为了降低代码的连贯性,我希望类尽可能只关注它们的任务,而不知道使用它们的代码的需求。但是使用它们的代码需要一些额外的特性。因此,有必要实现一些可以扩展类功能的东西。但是,我对这里适用哪种模式感到困惑。
那些。我想要一些C2级。此类可以返回 C1 对象。C1 和 C2 是包的一部分,它们过着自己的生活,不知道其他人如何使用它。C3 类使用 C2。C2 到 C3 返回 C1 类的对象。但是 C3 想要像 C4 一样的高级 C1 类功能。因此,创建了一个新对象 C4,它将类 C1 的对象作为构造函数的输入。
我认为:
- “装饰器”模式旨在扩展现有功能的能力,我想引入新的功能。
- “适配器”模式涉及通过调用现有类的代码来实现方法。那些。某种方法的“重命名”(接口的转换),但我想保持现有方法不变,只扩展功能。
是否有适合此任务的模式?或者有什么办法可以用不同的方式解决问题,同时保持 C1 和 C2 工作的独立性,并为 C3 提供使用 C1 更高级功能的能力?

您需要两个接口,第一个将用作 ADAPTER 并包含一个用作 UPDATER 并带有新功能的接口,如果您需要新功能,则需要将工作委托给具有定义的嵌套接口更新器
例如,您有接口 A 将携带一些功能并包含接口 B,接口 B 将是您的 UPDATER,它将携带一个方法 -NewMethot (),您将调用该方法