【问题标题】:Can't figure out this in Holub's pattern book在 Holub 的模式书中无法弄清楚这一点
【发布时间】:2010-01-26 23:02:24
【问题描述】:

我开始阅读 Holub 的模式书,但不确定这是否是一个错误(第 59-61 页)。

他在清单2-3中

public interface Employee
{ void youAreFired();
}

public static class EmployeeFactory
{  private Factory() {}

 public static Employee create()
 {   return new Peon();
 }
 }

/* package*/ class Peon implements Employee
{   public void youAreFired()
    {  //lots of code
    }
 }

他正在使用Employee.Factory.create()。 Factory 不是 Employee 的内部类,那么如何使用呢?

然后两页后他说Employee.Factory 是一个单身人士。如何?我认为这是一个错字,FactoryEmployee.Factory 实际上应该是EmployeeFactory。我希望我不会错过 Java 编程的主要内容!

【问题讨论】:

    标签: design-patterns errata


    【解决方案1】:

    是的,只有一个错字:
    建议修复:
    public static class EmployeeFactory => public static class Factory

    在考虑上述修复后修改您所写的内容将导致清晰的愿景。

    【讨论】:

      【解决方案2】:

      我敢打赌,在这两种情况下,他的意思都是“EmployeeFactory”。看起来只是一个错字。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多