Open棟梁 wiki
目次 †
概要 †
各レイヤについて説明します。
各レイヤの構成方法については、「モジュール構成」を参照。
P層 †
画面処理を実装するレイヤ。「画面の構成」も参考にできる。
- 単項目のチェック処理を除く業務処理はB層
- データアクセス処理はD層に実装する。
デザイン ベース †
- ASP.NETの場合、マスタページ
- Windows Formsの場合、ベースFormクラス
を使用して、枠のデザイン・処理の共通化を図る。
またOpen棟梁では「デザイン ベース」中の
コントロールのイベント処理を「個別デザイン」でオーバーライドして処理を変更できる。
個別デザイン †
- ASP.NETの場合Page
- Windows Formsの場合Form、
- WPFの場合Window / Page
を使用して、個別デザインを実装する。
ユーザ コントロール †
ASP.NET Web Forms、Windows Forms、WPFなどで
複数のコントロールを集約しパーツ化して、デザイン・処理の共通化を図ることができる。
またOpen棟梁では
「ユーザ コントロール」中のコントロールのイベント処理を
「個別デザイン」でオーバーライドして処理を変更できる。
カスタム コントロール †
ASP.NET Web Forms、Windows Forms、WPFの
標準のコントロールを継承し、動作をカスタマイズできる。
HTMLヘルパー †
※ASP.NET MVCで使用
従来のASP.NET Web Formsでは、コントロールを使用して、ラベルやテキストボックスなどのコントロールを表示していたが、
ASP.NET MVCでは、コントロールは使用できない。その代わりに、ASP.NET MVCでは HTMLヘルパーを使用する。
B層 †
業務処理を実装するレイヤ。
- 画面処理はP層
- データアクセス処理はD層に実装する。
トランザクション ルート †
トランザクション ルートとなるB層
- トランザクション ルートなのでB層からネストして呼び出すことはできない。
- コネクション管理処理にて生成したデータ アクセス制御クラス(Dam)を保持する。
- ファサード パターンで、処理を集約する(3層C/S方式でも1イベント、1リクエストに集約しトラフィックを軽減)
- 共通化 処理の共通化を行うためのB層追加レイヤ
- トランザクション ルートでないのでB層からネストして呼び出すことができる。
- コネクション管理処理にて生成したデータ アクセス制御クラス(Dam)を、別途持ち回る必要がある。
D層 †
データ アクセス処理を実装するレイヤ。
データ アクセス オブジェクト †
- データ アクセスのためのオブジェクト
- コンストラクタからデータ アクセス制御クラス(Dam)を渡す必要がある。
自作 Dao †
任意の複数のSQLの実行、テーブルへのアクセスを実装できる。
汎用 Dao †
- 汎用Daoは呼び出し元が指定したSQLを処理可能。
- 主に「参照系」の処理を実行する際に利用する。
自動生成 Dao †
- 自動生成Daoは1つのテーブルへのCRUD処理が可能。
- 主に「更新系」の処理を実行する際に利用する。
Dao集約層 †
- 汎用Dao、自動生成Daoを集約し、論理的なデータ アクセスを構成するD層追加レイヤ
データ アクセス制御クラス(Dam) †
動的SQLなど、各種D層機能を実装するデータ プロバイダのラッパークラス。
- 業務処理で複数の接続が必要な場合は、前述のコネクション管理処理において複数のDamを生成・保持する必要がある。
- また、複数のDBMS(データプロバイダ)に対応させる場合は、
コネクション管理処理にてDBMS(データプロバイダ)毎に用意された指定の型でDamを生成・保持し、
以降の処理ではDamをベースの型で扱うようにしてDBMS(データプロバイダ)固有型(機能)の使用を局所化する必要がある。