ドメイン中心の実装アーキテクチャ
画面周りの実装アーキテクチャは書きかけで終わってしまいましたが、アーキテクチャのポイントは以下のものでした。
- ビジネスデータはRDBで管理する。
- ビジネスロジックは処理(ビジネスフロー)とSQL(ビジネスファンクション)で実装する。
- DTO(DataTransferObject)としてDataSetを使う。
- データバインディングを使ってデータと画面を連結する。
今回は、データを管理するのではなくオブジェクトを管理する場合も考慮して、アーキテクチャを考えてみました。
このアーキテクチャのポイントは以下の通りです。
- ビジネスデータとビジネスロジックはDataSetまたはDomainModelで管理する。
RDBやファイルを永続化機構として考え、複雑なSQLは実装しない。
SQLのアドバンテージはLINQに引き継ぐ。 - DTO(DataTransferObject)としてLINQの結果であるIList<DomainObject>を使う。
- DTOを画面と連結するアダプターとしてDataSourceを使い、画面実装時のビジュアル編集をサポートする。
もちろん、データバインディングを使用する。
またもや書きかけ