Project
クラス、、、がEmployee
あるとしましょうProjectAssignement
。Role
2つの値を持つ列挙型とがLEADER
ありFOLLOWER
ます。 sは、タイプがメンバーフィールドを持つオブジェクトを介してEmployee
sに割り当てられます。Project
ProjectAssignment
role
Role
各プロジェクトにはリーダーを1人だけ持つことができますが、フォロワーを多く持つことができるというビジネスルールがあります。これを実装するために、 forとforRole
のメンバーフィールドsingular
を指定します。(将来、さらにロールを追加する可能性があります。)サーバー側のJavaは、プロジェクトに複数のリーダーを割り当てようとしても、それを許可しないかどうかをチェックします。true
LEADER
false
FOLLOWER
これまでのところ、私は特に珍しいことを説明しているとは思いません。
厄介な点は次のとおりです。プロジェクトに同じ役割を持つ複数の人を割り当てないようにするために、(手書きの)クライアント側のJavaScript検証がいくつかあります。フォロワーにはハードコードされた例外があります。JavaScriptコードにRole
列挙型を認識させてメソッドにアクセスできるようにするクリーンな方法はありますisSingular
か?
(明らかに、ある種のRole
列挙型をJavaScriptに実際に転記する必要があります。手動で、または半自動でさえも、それを避けたいと思います。それは、より多くの状況で行う価値よりも急速に手間がかかるためです。 )。
私はSpringや同様のフレームワークを使用しておらず、単なる.jspsを使用しています。そのようなものを使用するようにアプリケーション全体を書き直すことは良い考えかもしれませんが、問題の範囲をはるかに超えています。