我绝对无法解释我在标题中的意思。这个问题要么太愚蠢,要么太复杂,但归根结底是我找不到合适的设计模式。
因此,让我们假设我们有一个类 A,其中包含对接口 B 的引用。计算过程确定 B 的哪个实现是合适的并实例化一个新对象。到目前为止一切顺利(我认为)。
现在 B 有一个基于一组参数的方法。对象 A 拥有一组默认参数,但可以按需提供任何参数。棘手的部分是接口 B 的实现之间的参数完全不同。实际上,这些参数本身就是不同的对象,它们有自己的方法,每个 B 的实现都不同。
我最初的方法是为参数创建一个接口 C,然后为 B 的每个实现创建一个 C 实现(它是一对一的关系),但这似乎不正确。如果没有别的,在 B 的每个唯一实现中,我必须将 C 转换为调用其唯一函数所需的相应实现。
只能假设有更漂亮的方法!有任何想法吗?