与えられた Web サービス メソッド:
public void FindSomeEntities(int? Id, string param1, int? param2, ...)
リファクタリング:
public void FindSomeEntities(SelectionParameters selectionParameters)
class SelectionParameters
{
public int? Id;
public string param1;
public int? param2
...
}
長所:
- 元の Web サービス メソッドのパラメーターが多すぎて、1 つだけに削減されました
- 変更する必要がある場合、メソッドのインターフェースを変更する必要はありません - SelectionParameters の定義のみです。
短所:
- class SelectionParameters にはビジネス上の価値はありません。ヘルパー クラスとしてのみ使用され、単一のメソッドで使用されます。その結果、1 つのパラメーターと多数の 1 回限りのクラスを持つ多くのメソッドが作成されます。
- 実際にはインターフェイスが変更されました。これらの変更をもう少し深く押し込んだだけです。