「ビジネスロジック」の版間の差分

imported>Administrator
編集の要約なし
 
(2人の利用者による、間の6版が非表示)
1行目: 1行目:
'''ビジネスロジック'''([[英語]]:business logic)とは、業務システムにおける業務の動きのことである。
'''ビジネスロジック'''([[英語]]:business logic)とは、業務システムにおける「業務の動き」のことで、[[UI]]などの表面的な部分を除いた核心部分のことです。


「ビジネス」とありますが実際には業務システムに限ったものではなく例えば[[ゲーム]]のメイン処理もビジネスロジックです。


==概要==
==概要==
大雑把にいえばビジネスロジックは[[データ]]に対するUI部分を除いた操作であり、業務内容として本来あるべき流れである。
大雑把にいえばビジネスロジックは[[データ]]に対するUI部分を除いた操作であり、業務内容として本来あるべき流れです。業務内容の[[フローチャート]]に[[CRUD図]]的な[[データ]]の整合性を保つような仕様まで書き込んだものだと思えば間違いない。
業務内容の[[フローチャート]]に[[CRUD図]]的な[[データ]]の整合性を保つような仕様まで書き込んだものだと思えば間違いない。


いわゆる「3階層システム」(3-tier system)では、プレゼンテーション層(ユーザインターフェース層)とデータアクセス層(データベース層)の中間に位置し、ビジネスロジック層あるいはアプリケーション層と呼ばれる。[[プログラマ]]に馴染みの深い[[MVC]]や[[MVVM]]でいう「モデル層」は、3階層システムでいうビジネスロジック層とデータアクセス層をあわせたものと思ってほぼ間違いない。このためMVCと3階層システムを混ぜると、モデル層がビジネスロジック層とデータアクセス層に分解される。
いわゆる「3階層システム」(3-tier system)では、プレゼンテーション層(ユーザインターフェース層)とデータアクセス層(データベース層)の中間に位置し、ビジネスロジック層あるいはアプリケーション層と呼ばれる。
ビジネスロジックは[[フロー]]と[[データ]]で出来ており、人間による詳細な操作などは排除されたものであり、この段階ではプラットフォームには依存しない。
[[仕様書]]のようなものである。
 
[[プログラマ]]に馴染みの深い[[MVC]]や[[MVVM]]でいう「モデル層」をさらに細分化して、ビジネスロジック層(データに対する操作)とデータアクセス層(単純なデータ、いわゆる[[POCO]])にしたものと思ってほぼ間違いない。このためMVCと3階層システムを混ぜると、モデル層がビジネスロジック層とデータアクセス層に分解され、データアクセス、ビジネスロジック、ビュー、コントローラの4階層になる。
* モデル(ビジネスロジック、データアクセス)
* モデル(ビジネスロジック、データアクセス)
* ビュー(ユーザーインターフェイス)
* ビュー(ユーザーインターフェイス)
* コントローラ(その他)
* コントローラ(その他)
ビジネスロジックは[[フロー]]と[[データ]]で出来ており、人間による詳細な操作などは排除されたものであり、この段階ではプラットフォームには依存しない。
[[仕様書]]のようなものである。


==MVVMとの相性==
==MVVMとの相性==
28行目: 29行目:
*[[ASP.NET Web API/NUnitでユニットテストを行う‎]]
*[[ASP.NET Web API/NUnitでユニットテストを行う‎]]


==参考文献==
[[category: プログラミング]]
{{reflist}}
 
{{stub}}