私はSpring 3を使用していますが、この質問はより広く適用可能です、と私は思います。MVC Webアプリ - データの有効性を保証する場所
私は、フロントコントローラ(春DispatcherServlet
)を備えたWebアプリケーションを持っています。そこからサービスが呼び出され、レコードがデータベースに挿入されるなど、目的のタスクを実行するためにDAOまたは2つが使用されます。
ここで、データが有効であることを確認しますか?私は、最大長が50文字のエントリがあるとします。入力の長さはどの時点で< = 50であるべきですか?
コントローラの有効性をチェックすると、データを検証しないサービスを呼び出す他のコードが書き込まれる可能性があります。
サービス層の妥当性をチェックできますが、誰かがデータの有効性をチェックしないサービスを作成し、DAOに「悪い」データを渡す可能性があります。
DAOに妥当性チェックを入れるのは明らかです。コードをテストする能力に影響するでしょうか?
データの有効性をチェックする際のベストプラクティスは何ですか?
ありがとうございます。私はあなたの論理に同意します。私は複数のDAOを使用するサービスを持っているので、サービスレイヤーでいくつかのライト検証を行いますが、DAOはデータストアの最後の「防衛線」であるため、そこで最も厳しい検証を行います。 – Paul