【发布时间】:2015-06-02 10:57:59
【问题描述】:
我有以下课程:
public class Report{
//contains some data fields
}
和
public class ReportFactory{
//The fields below are in fact restrictions
private List<Integer> idList;
private OrderProperty property;
private Integer amount;
//ad so forth
//GET, SET
public Report getReport(){
Report report = new Report;
//Getting report depending on which of those fields were setted
return report;
}
}
我的问题是说ReportFactory 实际上是一个对象工厂是否正确。会不会误导试图理解代码的开发者?
【问题讨论】:
-
为什么不只是“报告工厂”?
-
@MarounMaroun 你是什么意思?
-
我的意思是为什么称它为“对象工厂”而不仅仅是...“报告工厂”?
-
您的问题到底是什么?
ReportFactory看起来像是创建报告的东西,所以是的,它是一个工厂类。由于报告是对象,是的,您可以将其称为“对象工厂”。 “对象工厂”这个词并没有什么特别之处。我会调用方法createReport()而不是getReport()。 -
@user3663882 限制的目的是什么。它们如何影响报表对象的创建?