私は、かなり標準的で適切に維持されたDDDパターンを使用してMVC2プロジェクトを継承しました。私は、DTO/ViewModelの議論全体についても多くのことを読んでいます。
現在、DTOはViewModelsのようによく使用されます。正直なところ、私たちが行っていることに違いはありませんが、サイトをアップグレードするときに適切なViewModelを使用したいと思います。
これが私の質問です:
現在、「ドメイン」プロジェクトのモデルはエンティティを保持し、DTOをコントローラーに返します。次に、そのDTOをViewModelにマップする必要があります。どこでこれをすればいいですか?
- コントローラーで正しいですか?
- ドメインプロジェクトでは?
- 他の場所?
「Web」プロジェクトのビューと一緒にViewModelを保持しているので、ドメインプロジェクトでDTO->ViewModelを変換するのは間違っていると感じます。また、コントローラーでそれを行うのは間違っていると感じます。
他の人は何をしましたか?
編集:
この質問/回答は、コントローラーで処理することを提案します。確かにこれを考えすぎるのは簡単です。