プレゼンテーションとドメインの分離
概要
プレゼンテーションとドメインの分離(英: Presentation Domain Separation)は「ユーザーインタフェースコードをその他のコードを分離する」という設計原則です。
レイヤの分離
ドメイン層とプレゼンテーション層を分離することは特に重要です。
- プレゼンテーション層
ユーザーとの対話(コマンドやイベントハンドラの実装、ユーザーインタフェースの提供、結果の表示・出力等)を行い、ドメインロジックを含めないようにします。 - ドメイン層
ユーザーインタフェースの状態や表示などを意識せず、設計情報のような概念に対する操作、いわゆるドメインロジックを実現します。ドメインに関連した概念や状態を表現するモデルと、複数のモデルに対する操作を実現するサービスがあります。
これにより、ソフトウェアのロジックはUIと完全に切り離され、単体テストがしやすくなります。 アプリケーションの振る舞いはドメイン層にあるので再利用性が高まり、エクステンションの機能を将来的にCIで実行したり、コマンドラインアプリケーション化することも可能になります。