Python-design-patterns-factory

提供:Dev Guides
移動先:案内検索

Pythonデザインパターン-工場

ファクトリパターンは、作成パターンリストカテゴリに分類されます。 オブジェクトを作成する最良の方法の1つを提供します。 ファクトリパターンでは、クライアントにロジックを公開せずに、共通インターフェイスを使用して新しく作成されたオブジェクトを参照せずにオブジェクトが作成されます。

ファクトリパターンは、ファクトリメソッドを使用してPythonで実装されます。 ユーザーがメソッドを呼び出し、ストリングを渡し、新しいオブジェクトとしての戻り値がファクトリーメソッドを介して実装されるようにします。 ファクトリメソッドで使用されるオブジェクトのタイプは、メソッドを介して渡される文字列によって決定されます。

以下の例では、すべてのメソッドにパラメーターとしてオブジェクトが含まれています。これはファクトリーメソッドを通じて実装されます。

ファクトリパターンを実装する方法

ファクトリパターンを実装する方法を見てみましょう。

class Button(object):
   html = ""
   def get_html(self):
      return selfl

class Image(Button):
   html = "<img></img>"

class Input(Button):
   html = "<input></input>"

class Flash(Button):
   html = "<obj></obj>"

class ButtonFactory():
   def create_button(self, typ):
      targetclass = typ.capitalize()
      return globals()[targetclass]()

button_obj = ButtonFactory()
button = ['image', 'input', 'flash']
for b in button:
   print button_obj.create_button(b).get_html()

ボタンクラスは、htmlタグと関連するhtmlページの作成に役立ちます。 クライアントはコードのロジックにアクセスできず、出力はhtmlページの作成を表します。

出力

ファクトリーパターン

説明

Pythonコードには、値を指定するhtmlタグのロジックが含まれています。 エンドユーザーは、Pythonコードによって作成されたHTMLファイルを見ることができます。