私は現在、いくつかのフレームワーク クラスにリファクタリング (+ 新機能の追加) を行っています。状況は、分割したい一連のロジックを実行する単一の (神のような) クラスがあるということです。このクラスは、会計コードの検証規則のようなものを表します。そのため、人の名前、生年月日などの検証を行います.
私がやろうとしているのは、それを単一のルールに分割することです。基本的には、会計コードに対して個人の名を検証するルール、生年月日などを検証するルールです。最後にプログラマーにとっては、ほとんど同じように見えます。FiscalCode ルールの巨大なコンストラクターを呼び出す代わりに、彼は次のようなことをFiscalCode.GetRules(...)
行い、ここでパラメーターを渡します。次にGetRules(...)
、 は単一のルールを内部的に構築し、それらを配列として返します。それは完全に問題なく、私たちにとって正しいです。
あなたの背景についてはこれで終わりです。今、私の質問は次のとおりです。FiscalCode クラス (現在の強力な神のクラス) には、これから作成する単一の「ルール クラス」の多くで必要となるユーティリティ メソッドが多数あります。私が知っていることは、それを行うために何らかの形で FiscalCode クラスが必要になるというGetRules(...)
ことです (これは、プログラマーがまったく新しいことをしなければならないということではなく、プログラマーにとって何らかの形で一定であり続けるためです)。
私の頭に浮かぶ2つのオプションがあります。
- 新しいルール クラスを作成し、FiscalCode クラスの public static ユーティリティ メソッドにアクセスする
- 新しいルール クラスを FiscalCode クラス st の内部のネストされたクラスとして作成します。既にユーティリティ メソッドにアクセスしています (したがって、ユーティリティ メソッドを公開する必要はありません)。
私はすでにお気に入りを持っていますが、最初にいくつかの意見を聞きたいです。
どうも