この情報は古いです。リライトしました。 http://hikouki.hateblo.jp/entry/2019/05/31/164944 この記事は CrowdWorks Advent Calendar 2017 の14日目です。 エンジニアリーダーの @hikouki です。 0からDDDでアプリケーションを立ち上げ中ですが、バリデーションの壁にぶち当たったので、 「バリデーション」はどう扱えばいいのか考えてみました。 ここでは、ユーザー(外部システム)入力値に対する検証に限定します。 どこでユーザー入力値を検証するべきか ユーザー入力値のバリデーションは全て、Presentersion層で行うべきだと考えました。 理由は、「Application層に来た時点でユーザー入力値ではない」からです。 なので、Application層の引数が不正な場合は、例外(内部エラー)として扱うようにし
![DDDで考えるマイクロサービスのバリデーション - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ccacf18071b7cc8d486730fc89148f7767e2abaa/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9REREJUUzJTgxJUE3JUU4JTgwJTgzJUUzJTgxJTg4JUUzJTgyJThCJUUzJTgzJTlFJUUzJTgyJUE0JUUzJTgyJUFGJUUzJTgzJUFEJUUzJTgyJUI1JUUzJTgzJUJDJUUzJTgzJTkzJUUzJTgyJUI5JUUzJTgxJUFFJUUzJTgzJTkwJUUzJTgzJUFBJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUI3JUUzJTgzJUE3JUUzJTgzJUIzJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz1iMmJkNTYwN2MzMDI0MTlhODJmZjIwMDllZTVmYmViZg%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwaGlrb3VraSZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YmUzNzczOTAzMmE4MjAxYmFhYzUwZTk3OTNkYzM0ODc%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D04c6fcc5c0647fa024b82705f3adb0b1)