我有一个处理器类 - AbstractProcessor
和多个具体类(扩展此基类),它们按业务逻辑的顺序调用。
public Abstract class AbstractProcessor {
public void doProcess(){}
}
我的具体类中的逻辑根据业务需求不断变化。这会导致相应的测试类发生变化,并且似乎是一种紧密耦合的方法。
有没有更好的方法来设计这样的类。
最佳答案
您可以使用 java 接口(interface)并根据您的需要覆盖不同版本的实现。您可以根据您/客户的需求调用具体的实现。
Example:
Interface A{
void showName();
}
class X implements A{
void showName(){
System.out.print("my name is X");
}
}
class Y implements A{
void showName(){
System.out.print("my name is Y");
}
}
现在,根据您/客户的需求,您可以实例化满足您要求的特定类。您可以为 N 个客户端提供 N 个实现。
class Test{
public static void main (String [] a){
/* For client X */
A a1 = new X();
a1.showName();
/* For client Y */
A a2 = new Y();
a2.showName();
}
}
附注请介意代码,我是直接用编辑器写的
关于java - 用于处理扩展类中频繁逻辑更改的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55794579/