現在、列挙型またはクラスの両方として表すことができるビジネス エンティティがあります。
クラスの実装がより簡単になり、ビジネス ロジックがより明確になります。しかし、50% の確率で要件が変更され、enum 表現によって作業が楽になる可能性があります。
具体例
エンティティにはタイトルと色があります。色は編集可能なので、2つの方法があります
- エンティティは列挙型です - エンティティからその色へのマッピングを持つ別のクラスがあります。
- エンティティはクラスです-色のフィールドが1つ増えるだけで、問題ありません。
将来の変更要件 - 各エンティティに関連付けられたルールが必要です
- エンティティは列挙型です - ルールはコードにハードコーディングされています
- エンティティはクラスです - マッピング用にさらにいくつかのクラスが必要であり、ユーザーがそれらを指定できるようにする UI も必要です。
一連のルールが静的である場合、2 番目のオプションはやり過ぎです。
クラスを列挙型に変換する必要がある場合、このプロセスに関する推奨事項はありますか?
編集
エンティティのセットは限られており、ユーザーが変更する可能性はほとんどありません。
前もって感謝します。