2

我正在研究设计模式,尤其是工厂和抽象工厂模式。我研究了 Fabien Potencier 的 Twig,并Twig_Loader_Filesystem根据我的另一种情况调整了他为课程编写代码的方式。

这是他开始上课的方式:

class Twig_Loader_Filesystem
    implements Twig_LoaderInterface, Twig_ExistsLoaderInterface

我想知道 Fabien 这样做的方式Twig_Loader_Filesystem是否被视为抽象工厂模式或只是一种简单的抽象设计模式?因为我可以看出使用接口暗示抽象,但我认为这不是工厂类。

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

4

1 回答 1

1

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

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

http://sourcemaking.com/design_patterns/strategy

策略模式是基本抽象的一个例子,其中可互换的类实现了一个通用接口并封装了不同的算法,而客户端类不必关心或意识到它们。

于 2013-03-21T13:55:48.203 回答