Java 规范对象设计模式的构建
我有两个java类 工作 工作流程Java 规范对象设计模式的构建,java,design-patterns,software-design,Java,Design Patterns,Software Design,我有两个java类 工作 工作流程 public String id; public String name; public String Status; public Date nextDate(); public String type; 我想构建一个方法,用于构建具有作业特征的工作流类型对象 public Workflow buildWorkflow(Job job){ Workflow test = new Workflow(); test.
public String id;
public String name;
public String Status;
public Date nextDate();
public String type;
我想构建一个方法,用于构建具有作业特征的工作流类型对象
public Workflow buildWorkflow(Job job){
Workflow test = new Workflow();
test.setId(job.getId());
test.setName(job.getName())
test.setStatus(job.getStatus());
test.setNetDate(new Date());
test.setType("java");
return test;
}
如果对象发生变化,如何标准化对象的构造
工作标准
public String id;
public String name;
public String status;
我应该完全重写这个方法:
public Workflow buildWorkflow(JobStandard jobstandard){
Workflow test = new Workflow();
test.setId(jobstandard.getId());
test.setName(jobstandard.getName())
test.setStatus(jobstandard.getStatus());
test.setNetDate(new Date());
test.setType("java");
return test;
}
提示?为什么不让您的
工作流
有一个数组列表
参数?或者反过来说。让你的工作有一个ArrayList
这个buildWorkflow
方法可以依赖于一个抽象而不是一个具体的类Job
和JobStandard
都可以实现此抽象。您是否有理由不希望Workflow
子类化Job
?它看起来像一个工作流
是一个作业
,还有两个字段。如果作业
发生更改,您希望工作流
发生更改。为什么要重写该方法?唯一需要更改的是buildWorkflow输入的类名,无需更改您为输入参数指定的名称。为什么不让您的Workflow
具有ArrayList
参数?或者反过来说。让你的工作有一个ArrayList
这个buildWorkflow
方法可以依赖于一个抽象而不是一个具体的类Job
和JobStandard
都可以实现此抽象。您是否有理由不希望Workflow
子类化Job
?它看起来像一个工作流
是一个作业
,还有两个字段。如果作业
发生更改,您希望工作流
发生更改。为什么要重写该方法?唯一需要更改的是buildWorkflow输入的类名,无需更改您为输入参数指定的名称。
public Workflow buildWorkflow(JobStandard jobstandard){
Workflow test = new Workflow();
test.setId(jobstandard.getId());
test.setName(jobstandard.getName())
test.setStatus(jobstandard.getStatus());
test.setNetDate(new Date());
test.setType("java");
return test;
}