public interface ServiceProcessor { void processRequest(ServiceRequest request); } public class UserServiceProcessor implements ServiceProcessor { @Override public void processRequest(ServiceRequest request) { // ... } } public class OrderServiceProcessor implements ServiceProcessor { @Override public void processRequest(ServiceRequest request) { // ... } } public class ServiceProcessorConfig { private Map<String, ServiceProcessor> processorMap; public void setProcessorMap(Map<String, ServiceProcessor> processorMap) { this.processorMap = processorMap; } public ServiceProcessor getProcessorByType(String type) { return processorMap.get(type); } } public class ServiceClient { private ServiceProcessorConfig processorConfig; public void setProcessorConfig(ServiceProcessorConfig processorConfig) { this.processorConfig = processorConfig; } public void processServiceRequest(ServiceRequest request) { ServiceProcessor processor = processorConfig.getProcessorByType(request.getType()); if (processor != null) { processor.processRequest(request); } else { // ... } } }


上一篇:
下一篇:
切换中文