java 根据来源系统不同采用工厂模式和策略模式实现编程可以减少if的使用的实例
下面是一个使用工厂模式和策略模式的实例,用来根据来源系统不同执行不同的操作,以减少if语句的使用:
首先,创建一个接口SourceSystem,定义一个方法execute()用来执行操作:
public interface SourceSystem {
void execute();
}
然后,创建两个实现SourceSystem接口的类,分别是SystemA和SystemB:
public class SystemA implements SourceSystem {
@Override
public void execute() {
System.out.println("执行SystemA的操作");
}
}
public class SystemB implements SourceSystem {
@Override
public void execute() {
System.out.println("执行SystemB的操作");
}
}
接下来,创建一个工厂类SourceSystemFactory,用来根据来源系统的不同返回对应的SourceSystem对象:
public class SourceSystemFactory {
public static SourceSystem getSourceSystem(String source) {
if (source.equalsIgnoreCase("SystemA")) {
return new SystemA();
} else if (source.equalsIgnoreCase("SystemB")) {
return new SystemB();
}
return null;
}
}
最后,创建一个使用工厂模式和策略模式的客户端类Main,用来根据不同的来源系统执行不同的操作:
public class Main {
public static void main(String[] args) {
String source = "SystemA"; // 根据来源系统设置不同的值
SourceSystem sourceSystem = SourceSystemFactory.getSourceSystem(source);
if (sourceSystem != null) {
sourceSystem.execute();
}
}
}
通过使用工厂模式和策略模式,我们可以根据来源系统的不同,动态地创建对应的SourceSystem对象,并执行相应的操作,避免了大量的if语句
原文地址: http://www.cveoy.top/t/topic/h27m 著作权归作者所有。请勿转载和采集!