私のレガシー コードには、属性と値のペアの概念があります。
私のシステムでは、各属性/値には任意の意味があります。したがって、私のインターフェイスにはメソッド getValue() と setValue() があります。これらはそれぞれ、私のシステムでの属性の意味に基づいて、いくつかの特定のビジネス ロジックを実行します。
これはかなりうまく機能しますが、いくつかの問題が発生しています。
1 つ目は、私のマッピングは次のようになる傾向があることです。
if (name == "name1") return thisAttributeImplementation();
これは醜く、タイピングを台無しにするのは簡単です...
2 つ目は、これらの AttributeImplementations は属性の名前を知る必要があるが、それを静的メンバーとして提供するか、コンストラクターに渡さない限り認識しないということです。どちらも醜いものです。
列挙型はこれらの問題の両方に対する良い解決策のようですが、ロジスティクスの解決に問題があります。文字列をオブジェクトに関連付けるために、列挙型はどのように見えるべきですか? 列挙型を反復処理して適切なものを見つけるにはどうすればよいですか? オブジェクト自体は、関連付けられている文字列の知識をどのように取得する必要がありますか?