Open棟梁 wiki

*目次 [#l74a6582]
#contents

*概要 [#fa1e3b66]
各レイヤの説明を以下に示す。

*P層 [#o229cb29]
画面処理を実装するレイヤ。

-単項目のチェック処理を除く業務処理はB層
-データアクセス処理はD層に実装する。

**デザイン ベース [#qe6113be]
-ASP.NETの場合、マスタページ
-Windows Formsの場合、ベースFormクラス

を使用して、枠のデザイン・処理の共通化を図る。

またOpen棟梁では「デザイン ベース」中の~
コントロールのイベント処理を「個別デザイン」でオーバーライドして処理を変更できる。

**個別デザイン [#bd397b73]
-ASP.NETの場合Page
-Windows Formsの場合Form、
-WPFの場合Window / Page

を使用して、個別デザインを実装する。

**ユーザ コントロール [#f5cab22c]
ASP.NET Web Forms、Windows Forms、WPFなどで~
複数のコントロールを集約しパーツ化して、デザイン・処理の共通化を図ることができる。

またOpen棟梁では~
「ユーザ コントロール」中のコントロールのイベント処理を~
[[「個別デザイン」でオーバーライドして処理を変更できる>ボタンレイアウトの共通化]]。

**カスタム コントロール [#d9583d9a]
ASP.NET Web Forms、Windows Forms、WPFの~
標準のコントロールを継承し、動作をカスタマイズできる。

**HTMLヘルパー [#o0ea9e4d]
※ASP.NET MVCで使用

従来のASP.NET Web Formsでは、コントロールを使用して、ラベルやテキストボックスなどのコントロールを表示していたが、ASP.NET MVCでは、コントロールは使用できない。その代わりに、ASP.NET MVCでは HTMLヘルパーを使用する。

*B層 [#kda3e339]
業務処理を実装するレイヤ。

-画面処理はP層
-データアクセス処理はD層に実装する。

**トランザクション ルート [#x6e0a757]
トランザクション ルートとなるB層
-トランザクション ルートなのでB層からネストして呼び出すことはできない。
-コネクション管理処理にて生成したデータ アクセス制御クラス(Dam)を保持する。
-ファサード パターンで、処理を集約する(3層C/S方式でも1イベント、1リクエストに集約しトラフィックを軽減)

-共通化	処理の共通化を行うためのB層追加レイヤ
--トランザクション ルートでないのでB層からネストして呼び出すことができる。
--コネクション管理処理にて生成したデータ アクセス制御クラス(Dam)を、別途持ち回る必要がある。

*D層 [#x5a04b9f]
データ アクセス処理を実装するレイヤ。
-画面処理はP層
-業務処理はB層に実装する。

**データ アクセス オブジェクト [#u87dd1e7]
-データ アクセスのためのオブジェクト
-コンストラクタからデータ アクセス制御クラス(Dam)を渡す必要がある。

**自作 Dao [#k5f9a0e9]
任意の複数のSQLの実行、テーブルへのアクセスを実装できる。

**汎用 Dao [#fa1bb49d]
-汎用Daoは呼び出し元が指定したSQLを処理可能。
-主に「参照系」の処理を実行する際に利用する。

**自動生成 Dao [#e057cc96]
-自動生成Daoは1つのテーブルへのCRUD処理が可能。
-主に「更新系」の処理を実行する際に利用する。

**Dao集約層 [#ad3600ab]
-汎用Dao、自動生成Daoを集約し、論理的なデータ アクセスを構成するD層追加レイヤ

*データ アクセス制御クラス(Dam) [#s38b7c07]
動的SQLなど、各種D層機能を実装するデータ プロバイダのラッパークラス。

業務処理で複数の接続が必要な場合は、前述のコネクション管理処理において複数のDamを生成・保持する必要がある。また、複数のDBMS(データプロバイダ)に対応させる場合は、コネクション管理処理にてDBMS(データプロバイダ)毎に用意された指定の型でDamを生成・保持し、以降の処理ではDamをベースの型で扱うようにしてDBMS(データプロバイダ)固有型(機能)の使用を局所化する必要がある。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS