1 クラスA: 2 デフ__init __(自己、引数): 3 self.data = 引数 4 5 DEFリマインダー(自己): 6 プリント(「{} number'.format(self.data)である) 7 self.data = self.data ** 2 8 リターンself.data 9 クラスB: 10 デフ__init __(自己、引数): 11 self.data = argを 12 13 DEFリマインダー(自己): 14 プリント(「{}はstr'.formatあります(self.data)) 15 self.data = self.data + 'あなたに会うために素敵な' 16 のリターンをself.data 17 18 DEF工場(引数): 19 コネクト= なし 20 場合でisinstance(引数、INT) 21 接続= 22 のelifでisinstance(引数、STR): 23 コネクト= B 24 他: 25 レイズとValueError(「申し訳ありません!「) 26 リターン接続(引数) 27 28 DEFメイン(): 29 秒= 5 30 #S = 'ジム' 31 32 modelfactory = 工場(S) 33 結果= modelfactory.reminder() 34 プリント(結果) 35 36 なら __name__ == '__main__': 37 メイン()
第一章工場モード
まず、工場出荷時のパターンを使用する理由(ファクトリメソッド)
オブジェクトの1トラッキングインスタンス
作成および使用するオブジェクトは、デカップリング話す2
必要なときにパフォーマンスを向上させるために、オブジェクトを作成します3。
第二に、使用パターンに基づい
ファクトリメソッド(特性パラメータ)を作成します。1.:
(1)1つまたはいくつかのディスペンサー。
これは工場点を決定するために使用される特徴パラメータ
(2)ファクトリ・オブジェクトへの復帰(すなわちファクトリクラス)
二つ以上のファクトリクラスを作成します。2.
(1)は、同じメソッド名を有します