我正在学习设计模式,我遇到了一个我无法解决的问题.我正在编写客户端/服务器脚本.管理员客户端以json格式发送任务及其任务数据,服务器应根据收到的任务类型实例化对象,并使用正确的类填充其构造函数.你可以看到下面有两个例子类.
public class StartProcessing implements ITask{
private final IProcessor dataProcessor;
public StartProcessing(IProcessor dataProcessor){
this.dataProcessor = dataProcessor;
}
@Override
public void ProcessTask() {
this.dataProcessor.StartProcess();
}
}
public class StartQueueFiller implements ITask{
private IQueueFiller queueFiller;
public StartQueueFiller(IQueueFiller queueFiller){
this.queueFiller = queueFiller;
}
@Override
public void ProcessTask() {
this.queueFiller.Start();
}
}
interface ITask {
public void ProcessTask();
}
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西,但是我会有50个不同的进程和数百个任务,所以构造函数将无法管理,我认为工厂模式在这种情况下不太好,可能我只是错过了这一点的模式.那你怎么解决这个问题呢?我应该使用什么而不是工厂模式?
public class TaskFactory(){
private final IProcessor processor;
private final IQueueFiller queuefiller;
public TaskFactory(IProcessor processor, IQueueFiller queuefiller){
this.processor = processor;
this.queuefiller = queuefiller;
}
public …Run Code Online (Sandbox Code Playgroud)