Twig用什么设计模式来实现装载机?

时间:2013-03-17 01:09:27

标签: php design-patterns abstract-class twig

我正在研究设计模式,特别是工厂和抽象工厂模式。我研究了Fabien Potencier的Twig并改编了他为Twig_Loader_Filesystem课程编写代码以适应我的另一种情况。

以下是他开始上课的方式:

class Twig_Loader_Filesystem
    implements Twig_LoaderInterface, Twig_ExistsLoaderInterface

我想知道Fabien为Twig_Loader_Filesystem做出的方式是否被视为抽象工厂模式或仅仅是一个简单的抽象设计模式?因为我可以告诉使用界面建议抽象,但我认为这不是工厂类。

也许他在其他地方使用过工厂方法?这里使用了什么设计模式?

1 个答案:

答案 0 :(得分:1)

在实际实现中可能还涉及其他模式(Factory也是如此),但您在这里写的是策略模式。

http://en.wikipedia.org/wiki/Strategy_pattern

http://sourcemaking.com/design_patterns/strategy

策略模式是基本抽象的一个例子,其中可互换的类实现了一个公共接口并封装了不同的算法,而客户端类不需要注意或了解它们。