(Python 3.2を使用していますが、それが重要かどうかは疑問です。)
、、およびクラスがclass Dataあります。クラスのインスタンスを表すために小文字を使用します。class RulesResult
オブジェクトには、オブジェクトに適用された場合にオブジェクトを作成できるrulesルールが含まれています。dataresult
ルールを実際にデータに適用する(かなり複雑で進化している)コードをどこに配置するかを決定しています。私は2つの選択肢を見ることができます:
そのコードをクラス
Resultメソッド内に配置しますparse_rules。Resultコンストラクターは引数としてrulesオブジェクトを取り、それをに渡しますself.parse_rules。そのコードを新しいクラス内に配置します
ResultFactory。ResultFactoryシングルトンクラスになります。このクラスにはbuild_result、rules引数として新しく作成されたresultオブジェクトを返すメソッドなどがあります。
2つのアプローチの長所と短所は何ですか?