java - 接口(interface)相同,实现不同

标签 java design-patterns

鉴于: - 不同的实现需要汇集在同一个接口(interface)下

不幸的是:这些实现有一个“创建”方法,但输入参数的数量和类型不同

解决方案……? 除了 Object 的可变参数,还有什么其他选择?

最佳答案

假设您只希望在您想要的界面下有一个创建方法

创建一个包装器类来实现您想要的接口(interface)。现在根据某些条件从包装类调用各种实现。

从可维护性的角度来看

如果可能,避免条件并从调用代码发送实现类名。只需调用从调用代码作为参数传递的类上的创建方法。(为此,您还需要创建虚拟创建方法,并将一些对象类作为参数,它包含每个实现类下的所有参数,这些实现类只是将调用委托(delegate)给具有所需参数数量的预期方法)

关于java - 接口(interface)相同,实现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853293/

相关文章:

Java Netbeans 在单独的窗口中打开 jFrame 文件选择器

java - Apache pig 脚本,错误 1070 : Java UDF could not resolve import

java - import sun无法解决

java - 过滤对象的设计模式

reactjs - React 状态和 mobx - 反模式?

php - 当 Class_a 只是偶尔需要 Class_b 信息时,PHP 的最佳设计模式是什么?

java - 如何使用java在for循环中获取当前和下一个arraylist索引

objective-c - Objective-C 中的优雅和 'correct' multiton 实现?

design-patterns - react 堆设计模式为什么叫reactor?

java - FTPClient - Java,上传文件