1. ホーム
  2. c#

リファクタリングのために、プロパティだけのクラスがあってもいいのか?

2023-07-19 20:53:51

質問

私は30個のパラメータを取るメソッドを持っています。 私はパラメータを取り、それらを1つのクラスに入れ、1つのパラメータ(クラス)をメソッドに渡すだけでよいようにしました。 それが含まれているすべてであっても、すべてのパラメータをカプセル化したオブジェクトを渡すことは、リファクタリングの場合には完全に問題ないのですか?

どのように解決するのですか?

それは素晴らしいアイデアです。例えばWCFでデータコントラクトがどのように行われるかは、典型的な方法です。

このモデルの利点は、新しいパラメータを追加する場合、クラスの消費者がパラメータを追加するためだけに変更する必要がないことです。

David Heffernanが言及するように、それはコードの自己文書化を助けることができます。

FrobRequest frobRequest = new FrobRequest
{
    FrobTarget = "Joe",
    Url = new Uri("http://example.com"),
    Count = 42,
};
FrobResult frobResult = Frob(frobRequest);