あなたがいないプレゼンテーションまたは永続層で、ビジネスロジック層における入力の検証(検証)を持っています。現実にはどこにでも置くことができます(または望みます)。検証デザインと完璧な世界ではドキュメント
簡単なサンプル(JSFまたはZKのようなフレームワークを使用してWebアプリケーション)を作ることができます:特定の入力フィールドには、あなたがの制約機能を使用することができ0001と0500.
の間に4桁の数字を受け入れますこれを行うあなたのWebフレームワーク。ユーザーにとって便利で、追加のサーバー負荷はありません。
ビジネス層(例:java-ejb)で実行できます。同一のejbを使用するすべてのアプリケーションが同じ検証を使用するため、絶対確実です。あなたが評価後にユーザーにエラーを返す必要があるので、最終的にいいことではありません。サーバーとの間の往復が必要です。
誰かが非桁の値または4桁以上の値を(パーシスタンス層を介して)入力すると、DBに(部分的に)頼ることができます。醜い。
レジューム:1.と2.で冗長化します(ユーザーにとって使いやすく、すべてのアプリケーションで一貫性を持たせる)。 (プラスDBの長さは4となります)
今度は質問:どのようにこのバリデーションを文書化しますか?テキスト文書またはUML図ある意味では、3つまでの場所にビジネスロジックがあります。複雑なシステムでは、これは追跡して理解することが不可能に近くなります。
上記サンプルの実際のシナリオ:4桁から5桁に変更する必要があります。ドキュメントがなければ、変更が必要な場所を探す必要があります。
あなたは何を体験しますか?このためのヒントやツールはありますか?私のプロジェクトの一つで
歓声
スヴェン
正規表現を使用して他のデータ(テーブル、データベース)との関係でデータを確認するにはどうすればよいですか? – javadude
あなたのDBがすでに作成されている場合、私はテーブル制約を気にせず、アプリケーションロジックを使って検証を行います。 – Elijah