コードにいくつかの部分があり、これらの特定の条件が満たされているかどうかをチェックして、チェックしているものがどちらのタイプであるかを理解できるようにするという問題があります。多くのチェックを行っているため、各メソッドで同じチェックを行っているため、これは if else ツリーが大きくなり、チェックしているものがいくつかの異なるタイプになる可能性があります。これは、オブジェクトを使用して解決できることを私は知っています! 具体的には、私がチェックしているのは、ファイルからの 4 つの文字列値です。これらの文字列値に基づいて、4 つの文字列を合わせて 3 つのタイプのいずれかを作成できます。4 つの文字列が構成する型を取得する必要があるたびに同じチェックを行うのではなく、これら 4 つの文字列を指定して一般的なオブジェクトを作成し、そのオブジェクトが特定のクラス 1、2、または3。
4 つの文字列が作成する一般的なオブジェクトに Sign という名前を付けるとします。これら 4 つの文字列を使用して、新しい Sign オブジェクトを作成します。
Sign unkownType = new Sign(string1, string2, string3, string4);
この標識がどのタイプの標識であるかを確認する必要があります。
編集:詳細については、私がチェックしている標識は「+」や「-」などの記号ではなく、道路で見られるようなテキスト付きの標識です。各記号には 4 つの行があり、各行が特定の種類の記号と一致すると評価されるかどうかを確認する必要があります。SignType1 の最初の行は SignType2 の最初の行とは異なります。これらの 4 行 (文字列) を取得してオブジェクトに渡し、コード全体でそのオブジェクトを使用して、同じものを作成するのではなく、値を取得します。各メソッドでチェックします。コードを示してほしい場合は表示できますが、あまり意味がありません。