レイヤの説明
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>クラス構造]]
*目次 [#l74a6582]
#contents
*概要 [#fa1e3b66]
各レイヤについて説明します。
#ref(fx_image_s.png,left,nowrap,各レイヤ)
各レイヤの構成方法については、「[[モジュール構成]]」を参...
*引数・戻り値クラス [#v18f3866]
[[B層>#kda3e339]]の呼び出しに必要な引数、戻り値。
#ref(ParamAndReturn.png,left,nowrap,引数、戻り値クラスの...
*P層 [#o229cb29]
画面処理を実装するレイヤ。「[[画面の構成]]」も参考にでき...
-単項目のチェック処理を除く業務処理はB層
-データアクセス処理はD層に実装する。
#ref(Presentation.png,left,nowrap,P層クラスのクラス構造)
**画面デザイン [#bd397b73]
-ASP.NETの場合Page
-Windows Formsの場合Form、
-WPFの場合Window / Page
を使用して、個別デザインを実装する。
**デザイン ベース [#qe6113be]
またOpen棟梁では「デザイン ベース」中の~
コントロールのイベント処理を「個別デザイン」で~
オーバーライドして処理を変更できる。
***マスタページ [#u7846190]
ASP.NETの場合、マスタページを使用して、枠のデザイン・処理...
***ベースFormクラス [#a8cca4cc]
Windows Formsの場合、ベースFormクラスを使用して、枠のデザ...
**コントロール [#n7f3429a]
***ユーザ コントロール [#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では、コントロールは使用できない。その代わりに...
**コード・ビハインド [#mab2f1f4]
-ページのデザインとプログラム コードを分離して記述する、~
コード ビハインド モデルにおける、プログラム実装側のモジ...
-なお、デザインは、前述の
--「[[画面デザイン>#bd397b73]]」
--「[[デザイン ベース>#qe6113be]]」
--「[[コントロール>#n7f3429a]]」
>に実装する。
**[[コード・ビハインド>#mab2f1f4]]の構造 [#s19f8cdc]
***画面コード親クラス1 [#j60074a5]
[[ベースクラス1]]相当
***画面コード親クラス2 [#g96b7cf4]
[[ベースクラス2]]相当
***画面コード クラス [#m5b680ac]
派生の末端。
*B層 [#kda3e339]
業務処理を実装するレイヤ。
-画面処理はP層
-データアクセス処理はD層に実装する。
#ref(Business.png,left,nowrap,B層クラスのクラス構造)
**トランザクション [#j969ead8]
***トランザクション ルート(Tx-Root) [#x6e0a757]
トランザクション ルートとなるB層
-トランザクション ルートなのでB層からネストして呼び出すこ...
-コネクション管理処理にて生成した[[データ アクセス制御ク...
-ファサード パターンで、処理を集約する(3層C/S方式でも1...
***共通処理 [#db913772]
処理の共通化を行うためのクラス
-トランザクション ルートでないのでB層からネストして呼び出...
-コネクション管理処理にて生成した[[データ アクセス制御ク...
**Tx-Rootの構造 [#bebcaef2]
***業務コード親クラス1 [#o7312e84]
[[ベースクラス1]]相当
***業務コード親クラス2 [#sc1ea1e7]
[[ベースクラス2]]相当
***業務コード クラス [#hebeea91]
派生の末端。
*D層 [#x5a04b9f]
データ アクセス処理を実装するレイヤ。
-画面処理はP層
-業務処理はB層に実装する。
#ref(DataAccess.png,left,nowrap,B層クラスのクラス構造)
**データ アクセス オブジェクト(Dao) [#o009664d]
-データ アクセスのためのオブジェクト
-コンストラクタから[[データ アクセス制御クラス(Dam)>#s3...
***自作 Dao [#k5f9a0e9]
任意の複数のSQLの実行、テーブルへのアクセスを実装できる。
***汎用 Dao [#fa1bb49d]
-汎用Daoは呼び出し元が指定したSQLを処理可能。
-主に「参照系」の処理を実行する際に利用する。
***自動生成 Dao [#e057cc96]
-自動生成Daoは1つのテーブルへのCRUD処理が可能。
-主に「更新系」の処理を実行する際に利用する。
***Dao集約層 [#ad3600ab]
[[汎用Dao、自動生成Daoを集約し、論理的なデータ アクセスを...
**[[Dao>#o009664d]]の構造 [#y7e814a3]
***データアクセス親クラス1 [#u023f4af]
[[ベースクラス1]]相当
***データアクセス親クラス2 [#i0867c1e]
[[ベースクラス2]]相当
***データアクセス クラス [#b452922a]
派生の末端。
**データ アクセス制御クラス(Dam) [#s38b7c07]
***概要 [#b910b559]
[[動的パラメタライズド・クエリ]]など、各種D層機能を実装す...
-業務処理で複数の接続が必要な場合は、前述のコネクション管...
-また、複数のDBMS(データプロバイダ)に対応させる場合は、~
コネクション管理処理にてDBMS(データプロバイダ)毎に用意...
以降の処理ではDamをベースの型で扱うようにしてDBMS(データ...
***種類 [#v366357e]
-同梱Dam
--DamSqlSvr~
System.Data.SqlClient用(SQLServer)
--DamOLEDB~
System.Data.OleDb用(OLEDB)
--DamODBC~
System.Data.Odbc用(ODBC)
-NuGet有り(OSS)
--DamMySQL~
MySql.Data.MySqlClient用(MySQL)
--DamPstGrS~
Npgsql用(PostgreSQL)
--DamManagedOdp~
Oracle.ManagedDataAccess.Client用(Oracle)
-Legacy
--DamDB2~
DB2用
--DamHiRDB~
HiRDB用
--DamOraOdp~
Oracle.DataAccess.Client用(Oracle)
-Discon
--DamOraClient~
System.Data.OracleClient用(Oracle)
-その他
--DamSqlDbWithMultiShard
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>クラス構造]]
*目次 [#l74a6582]
#contents
*概要 [#fa1e3b66]
各レイヤについて説明します。
#ref(fx_image_s.png,left,nowrap,各レイヤ)
各レイヤの構成方法については、「[[モジュール構成]]」を参...
*引数・戻り値クラス [#v18f3866]
[[B層>#kda3e339]]の呼び出しに必要な引数、戻り値。
#ref(ParamAndReturn.png,left,nowrap,引数、戻り値クラスの...
*P層 [#o229cb29]
画面処理を実装するレイヤ。「[[画面の構成]]」も参考にでき...
-単項目のチェック処理を除く業務処理はB層
-データアクセス処理はD層に実装する。
#ref(Presentation.png,left,nowrap,P層クラスのクラス構造)
**画面デザイン [#bd397b73]
-ASP.NETの場合Page
-Windows Formsの場合Form、
-WPFの場合Window / Page
を使用して、個別デザインを実装する。
**デザイン ベース [#qe6113be]
またOpen棟梁では「デザイン ベース」中の~
コントロールのイベント処理を「個別デザイン」で~
オーバーライドして処理を変更できる。
***マスタページ [#u7846190]
ASP.NETの場合、マスタページを使用して、枠のデザイン・処理...
***ベースFormクラス [#a8cca4cc]
Windows Formsの場合、ベースFormクラスを使用して、枠のデザ...
**コントロール [#n7f3429a]
***ユーザ コントロール [#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では、コントロールは使用できない。その代わりに...
**コード・ビハインド [#mab2f1f4]
-ページのデザインとプログラム コードを分離して記述する、~
コード ビハインド モデルにおける、プログラム実装側のモジ...
-なお、デザインは、前述の
--「[[画面デザイン>#bd397b73]]」
--「[[デザイン ベース>#qe6113be]]」
--「[[コントロール>#n7f3429a]]」
>に実装する。
**[[コード・ビハインド>#mab2f1f4]]の構造 [#s19f8cdc]
***画面コード親クラス1 [#j60074a5]
[[ベースクラス1]]相当
***画面コード親クラス2 [#g96b7cf4]
[[ベースクラス2]]相当
***画面コード クラス [#m5b680ac]
派生の末端。
*B層 [#kda3e339]
業務処理を実装するレイヤ。
-画面処理はP層
-データアクセス処理はD層に実装する。
#ref(Business.png,left,nowrap,B層クラスのクラス構造)
**トランザクション [#j969ead8]
***トランザクション ルート(Tx-Root) [#x6e0a757]
トランザクション ルートとなるB層
-トランザクション ルートなのでB層からネストして呼び出すこ...
-コネクション管理処理にて生成した[[データ アクセス制御ク...
-ファサード パターンで、処理を集約する(3層C/S方式でも1...
***共通処理 [#db913772]
処理の共通化を行うためのクラス
-トランザクション ルートでないのでB層からネストして呼び出...
-コネクション管理処理にて生成した[[データ アクセス制御ク...
**Tx-Rootの構造 [#bebcaef2]
***業務コード親クラス1 [#o7312e84]
[[ベースクラス1]]相当
***業務コード親クラス2 [#sc1ea1e7]
[[ベースクラス2]]相当
***業務コード クラス [#hebeea91]
派生の末端。
*D層 [#x5a04b9f]
データ アクセス処理を実装するレイヤ。
-画面処理はP層
-業務処理はB層に実装する。
#ref(DataAccess.png,left,nowrap,B層クラスのクラス構造)
**データ アクセス オブジェクト(Dao) [#o009664d]
-データ アクセスのためのオブジェクト
-コンストラクタから[[データ アクセス制御クラス(Dam)>#s3...
***自作 Dao [#k5f9a0e9]
任意の複数のSQLの実行、テーブルへのアクセスを実装できる。
***汎用 Dao [#fa1bb49d]
-汎用Daoは呼び出し元が指定したSQLを処理可能。
-主に「参照系」の処理を実行する際に利用する。
***自動生成 Dao [#e057cc96]
-自動生成Daoは1つのテーブルへのCRUD処理が可能。
-主に「更新系」の処理を実行する際に利用する。
***Dao集約層 [#ad3600ab]
[[汎用Dao、自動生成Daoを集約し、論理的なデータ アクセスを...
**[[Dao>#o009664d]]の構造 [#y7e814a3]
***データアクセス親クラス1 [#u023f4af]
[[ベースクラス1]]相当
***データアクセス親クラス2 [#i0867c1e]
[[ベースクラス2]]相当
***データアクセス クラス [#b452922a]
派生の末端。
**データ アクセス制御クラス(Dam) [#s38b7c07]
***概要 [#b910b559]
[[動的パラメタライズド・クエリ]]など、各種D層機能を実装す...
-業務処理で複数の接続が必要な場合は、前述のコネクション管...
-また、複数のDBMS(データプロバイダ)に対応させる場合は、~
コネクション管理処理にてDBMS(データプロバイダ)毎に用意...
以降の処理ではDamをベースの型で扱うようにしてDBMS(データ...
***種類 [#v366357e]
-同梱Dam
--DamSqlSvr~
System.Data.SqlClient用(SQLServer)
--DamOLEDB~
System.Data.OleDb用(OLEDB)
--DamODBC~
System.Data.Odbc用(ODBC)
-NuGet有り(OSS)
--DamMySQL~
MySql.Data.MySqlClient用(MySQL)
--DamPstGrS~
Npgsql用(PostgreSQL)
--DamManagedOdp~
Oracle.ManagedDataAccess.Client用(Oracle)
-Legacy
--DamDB2~
DB2用
--DamHiRDB~
HiRDB用
--DamOraOdp~
Oracle.DataAccess.Client用(Oracle)
-Discon
--DamOraClient~
System.Data.OracleClient用(Oracle)
-その他
--DamSqlDbWithMultiShard
ページ名: