2

私はデザイン パターン、特に Factory パターンと Abstract Factory パターンを研究しています。私は Fabien Potencier から Twig を学び、彼がクラスのコードを書いた方法をTwig_Loader_Filesystem私の別の状況に適応させました。

彼がクラスを始めた方法は次のとおりです。

class Twig_Loader_Filesystem
    implements Twig_LoaderInterface, Twig_ExistsLoaderInterface

Twig_Loader_FilesystemFabien が行った方法は、抽象的なファクトリ パターンと見なされるのか、単純な抽象的なデザイン パターンと見なされるのか疑問に思っていました。インターフェイスの使用は抽象的であることがわかりますが、これはファクトリ クラスではないと思います。

おそらく彼は他の場所でファクトリーメソッドを使用したのでしょうか? ここで使用されているデザイン パターンは何ですか?

4

1 に答える 1

1

実際の実装では、他のパターン (Factory も) が関係している可能性がありますが、ここで書いているのは Strategy パターンです。

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

http://sourcemaking.com/design_patterns/strategy

戦略パターンは基本的な抽象化の例であり、交換可能なクラスが共通のインターフェースを実装し、クライアント クラスがそれらを気にしたり認識したりすることなく、さまざまなアルゴリズムをカプセル化します。

于 2013-03-21T13:55:48.203 に答える