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

标签 java design-patterns

我有一个处理器类 - 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/

相关文章:

java - 是否可以在不使用注释的情况下在 GAE/java 中保存数据?

java - 如何修复此错误 :"Attempted to serialize java.lang.Class: org.springframework.beans.factory.annotation.Qualifier"

java - 数组中的数据去哪儿了?

java - 如何保证一个线程在另一个CORE中执行?

algorithm - 如何适应需要成为应用程序一部分的新逻辑

java - 尝试连接外部 IP 时连接被拒绝

oop - 小说/书籍面向对象的设计方法

java - 让 setter 返回 "this"是不好的做法吗?

C# DI Func工厂无需注册Func?

python - 处理文本文件的通用算法/模式