このプロジェクトについて

このサンプルアプリケーションは、DDD (Domain Driven Design: ドメイン駆動設計) で推奨されるアプリケーションアーキテクチャを適用する方法の一例を示します。O/R マッパーには NHibernate を使用しています。
UI は Windows フォームアプリケーション、データストアは SQL Server Compact 4.0 を使用しているため、ソースコードをビルドするだけでアプリケーションを実行することができます。

SummaryDiagram.png

レイヤ
このサンプルアプリケーションでは次のレイヤを導入しています。
  • プレゼンテーションレイヤ
  • アプリケーションレイヤ
  • パーシステンスレイヤ
  • ドメインレイヤ
詳細についてはソースコードに付属するアプリケーションアーキテクチャ ドキュメントを参照してください。

既存パターン
このサンプルアプリケーションで導入している主な既存パターンには次のパターンがあります。
  • エンティティ
  • 集約
  • 仕様
  • リポジトリ
  • 操作スクリプト
  • Model View Presenter
  • 依存性注入
  • 制御の反転
詳細についてはソースコードに付属するアプリケーションアーキテクチャ ドキュメントを参照してください。 (一部、ドキュメントに詳細が記述されていないパターンも含まれます。)

独自パターン
このサンプルアプリケーションでは、DDD のアプリケーションアーキテクチャをアレンジして、次の独自パターンを導入しています。
  • 視点
  • エンティティビルダ
  • 作業ファサード
  • 操作スクリプト+コマンドパターン
  • 操作エラー
詳細についてはソースコードに付属するアプリケーションアーキテクチャ ドキュメントを参照してください。

アプリケーションアーキテクチャ ドキュメント

ソースコードには、アプリケーションアーキテクチャに関するドキュメントが付属しています。
このドキュメントには、各レイヤの概要と、基本機能を提供する C# プロジェクトについての記述が含まれています。
アプリケーションの主要機能を提供する C# プロジェクトについての記述は含まれません。

アプリケーションアーキテクチャ ドキュメントに含まれる内容
  • 各レイヤについての概要
  • Base.Application プロジェクトの各クラスの説明
  • Base.Domain プロジェクトの各クラスの説明
  • Base.Persistence プロジェクトの各クラスの説明

アプリケーションアーキテクチャ ドキュメントに含まれない内容
  • Application プロジェクトの各クラスの説明
  • Domain プロジェクトの各クラスの説明
  • Persistence プロジェクトの各クラスの説明
  • Presentation プロジェクトの各クラスの説明

ソースコードのダウンロード

ソースコードはこちらからダウンロードできます。

サンプルアプリケーションの実行方法

解凍したソースコードを Visual Studio からビルドし、出力ファイルの ToDoList.exe を実行します。
初回起動時には以下のファイルパスにデータベースファイルが作成されます。
  • %userprofile%\Application Data\ToDoList\ToDoList.sdf
アンインストールをするには、ソースコードとデータベースファイルの削除を手作業で行ってください。

関連書籍


Last edited May 16, 2011 at 6:46 PM by MoroMoroProject, version 26