工厂模式:从基础到实战应用
1. 工厂方法模式基础
在对象创建的领域中,工厂方法模式是一种常用的设计模式。以池塘模拟为例, FrogPond 等是具体的创建者,而 Duck 和 Frog 类则是其创建的产品。虽然从图中可能看到两个产品共享一个基类,但实际上 Duck 和 Frog 并非真正的“血亲”,它们只是因为实现了一组共同的方法而具有相同的类型。
深入探究会发现,工厂方法模式本质上是模板方法模式在对象创建问题上的应用。在工厂方法模式和模板方法模式中,通用的算法部分(如池塘中生物的日常生存活动)会在通用基类中编码,而子类则负责填充基类中留下的空白。在工厂方法中,这些填充的内容决定了将生活在池塘中的对象的类。
2. 参数化工厂方法
随着程序的成功,需求往往会不断增加。假设池塘模拟程序非常受欢迎,用户要求模拟植物和动物。为此,我们创建了植物类,如 Algae 和 WaterLily :
class Algae
def initialize(name)
@name = name
end
def grow
puts("The Algae #{@name} soaks up the sun and grows")
end
end
class WaterLily
def initialize(name)
@name = name
en
超级会员免费看
订阅专栏 解锁全文
173万+

被折叠的 条评论
为什么被折叠?



