qq_33256540 2015-12-04 15:01 采纳率: 0%
浏览 1168

GOF中,关于工厂方法模式的劣势疑问

A potential disadvantage of factory methods is that clients might have to
subclass the Creator class just to create a particular ConcreteProduct object.
Subclassing is fine when the client has to subclass the Creator class anyway,
but otherwise the client now must deal with another point of evolution.

工厂方法的一个潜在缺点在于客户可能仅仅为了创建一个特定的ConcreteProduct, 就不得不创建Creator子类。当Creator子类不必需时,客户现在必然要处理类演化的其他方面;但当客户无论如何必须创建Creator子类时,创建子类也是可行的。

前半句好理解,后面半句,无论是英文版还是翻译,都不懂什么意思,求解释:
(1)Creator在工厂方法中难道可以不要吗?为何在这里提到必需和不必需的情况?
(2)类的演化的其他方面是什么?怎么说的感觉跟有关部门一样神秘!

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-12-05 10:37
    关注

    你的英文理解有问题

    subclass the Creator class,不是“创建Creator子类”,而是子类化Creator类(说的是工厂)
    子类化(subclass)的意思就是派生一个类,然后通过方法重写替换掉基类的实现。

    评论

报告相同问题?

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试