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