处理扩展类中频繁逻辑更改的设计模式

时间:2019-04-22 12:40:01

标签: java design-patterns

我有一个处理器类-AbstractProcessor和多个具体类(扩展了该基本类),这些类按业务逻辑的顺序被调用。

public Abstract class AbstractProcessor {
   public void doProcess(){}
}

具体类中的逻辑根据业务需求不断变化。这会导致相应测试类的更改,并且似乎是紧密耦合的方法。

有没有更好的方法来设计此类。

1 个答案:

答案 0 :(得分:0)

您可以使用java接口并根据需要覆盖实现的不同版本。您可以根据您/客户的需求调用特定的实现。

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();
    }
}

P.S。请介意代码,我已经直接在编辑器中编写了