ホーム
おまかせ表示
ログイン
設定
MonoBookについて
免責事項
MonoBook
検索
「
ビジネスロジック
」を編集中
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
'''ビジネスロジック'''([[英語]]:business logic)とは、業務システムにおける「業務の動き」のことで、[[UI]]などの表面的な部分を除いた核心部分のことです。 「ビジネス」とありますが実際には業務システムに限ったものではなく例えば[[ゲーム]]のメイン処理もビジネスロジックです。 ==概要== 大雑把にいえばビジネスロジックは[[データ]]に対するUI部分を除いた操作であり、業務内容として本来あるべき流れです。業務内容の[[フローチャート]]に[[CRUD図]]的な[[データ]]の整合性を保つような仕様まで書き込んだものだと思えば間違いない。 いわゆる「3階層システム」(3-tier system)では、プレゼンテーション層(ユーザインターフェース層)とデータアクセス層(データベース層)の中間に位置し、ビジネスロジック層あるいはアプリケーション層と呼ばれる。 ビジネスロジックは[[フロー]]と[[データ]]で出来ており、人間による詳細な操作などは排除されたものであり、この段階ではプラットフォームには依存しない。 [[仕様書]]のようなものである。 [[プログラマ]]に馴染みの深い[[MVC]]や[[MVVM]]でいう「モデル層」をさらに細分化して、ビジネスロジック層(データに対する操作)とデータアクセス層(単純なデータ、いわゆる[[POCO]])にしたものと思ってほぼ間違いない。このためMVCと3階層システムを混ぜると、モデル層がビジネスロジック層とデータアクセス層に分解され、データアクセス、ビジネスロジック、ビュー、コントローラの4階層になる。 * モデル(ビジネスロジック、データアクセス) * ビュー(ユーザーインターフェイス) * コントローラ(その他) ==MVVMとの相性== ビジネスロジックはフローとデータで出来ているため、人間による詳細な操作などは排除されたものであり、この段階ではプラットフォームには依存しない。 このような特性から[[プログラミング]]の[[デザインパターン]]でいう[[MVVM]]と非常に相性がよい。 ビジネスロジックを[[MVVM]]を使用して仕様書から[[ソースコード]]に落とし込むと[[モデル]]と[[ビューモデル]]に相当する部分が出来上がる。 この[[ソースコード]]として実際に機械的には動く状態、シミュレーション実行できる状態にされたビジネスロジックに対して[[単体テスト]]などを駆使して[[バグ]]を排除できれば最低限の品質は保証できる。紙の[[仕様書]]より強固なシミュレーションできる仕様書が完成するのである。これは、たとえ[[ユーザーインターフェース]]が凶悪最低でも「動くことは動く」という状態までは持っていけることを意味する。 ==MVCとの相性== ビジネスロジックという考え方は、広く使われている[[MVC]]ではコントローラーに人間の操作に依存する部分が書かれてしまうことが多いため完璧に表現することは難しい。だが[[モデル]]にビジネスロジックに相当する部分を全てを記載するよう努力すればかなり良いところまでいける。 ==関連項目== *[[ユーザーインターフェース]] *[[ASP.NET Web API/NUnitでユニットテストを行う]] [[category: プログラミング]]
編集内容の要約:
MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MonoBook:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の確認用の質問に回答してください (
詳細
):
1たす1は?(全角で入力してください)
キャンセル
編集の仕方
(新しいウィンドウで開きます)