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