如何创建接口的实现,使用其他接口的特定实现?

ali*_*os- 1 java design-patterns

我绝对无法解释我在标题中的含义.这个问题要么太愚蠢,要么太复杂,但最底层的是我无法找到合适的设计模式.

所以,我们假设我们有一个包含对接口B的引用的类A.计算过程确定哪个B实现是合适的并实例化一个新对象.到目前为止这么好(我想).

现在B有一个基于一组参数的方法.对象A包含一组默认参数,但可以按需提供任何集合.棘手的部分是参数在接口B的实现之间是完全不同的.实际上,这些参数本身是不同的对象,它们有自己的方法,每个实现的B都不同.

我最初的方法是为参数创建一个接口C,然后为B的每个实现创建一个C实现(它是一对一的关系),但这似乎不对.如果不是其他任何东西,在B的每个独特实现中,我必须将C转换为调用其独特函数所需的相应实现.

人们只能假设有更漂亮的方式!有任何想法吗?

art*_*tol 5

如果用户需要使用依赖于底层实现的特定参数调用其方法,则B不是一个合适的接口.你应该重新考虑你的设计.为什么A甚至可以访问这些参数?它们属于每个B实现吗?