私は非常に複雑なトピックで立ち往生しています。データ検証のための普遍的なソリューションを考え出そうとしています。携帯電話会社の顧客管理システムに似たシステムがあり、顧客は情報 (コスト、支払い、個人情報、イベントのアーカイブ、負債など) でいっぱいのアカウントを持っており、複数の状況でこのデータを検証する必要があります。さまざまなアカウントがあり、そのうちのいくつかは特定の検証が必要であることを忘れることはできません。私が理解できないのは、この作業に対する普遍的でシンプルで再利用可能なシステムです。
主なアイデアは、使用される多くの「制約」があることです (例: 顧客は名前を持っている必要がある、借金がある場合、過払いがないなど)、また定義された状況 (アカウントのキャンセルなど) があります。 、支払い要求送信など) データを検証したい場合 (コードからの検証の実行はここではトピックではありません)。シチュエーションには、検証または実行される制約のリストがあります。これが私たちが望むものです。
しかし、これに対する正しいJavaアプローチは何ですか? すべての状況と制約はクラスであるべきですか? シチュエーションには制約インスタンスがあり、インスタンスには validate() メソッドがありますか? しかし、それぞれの主張は異なるでしょう。他のアイデアはありますか?
ここでの回答は長くなる可能性があるため、そのトピックに関するドキュメントを教えていただければ幸いです。答えてくれてありがとう!