MVC、Broker、Layers、Pipes and Filters


応用情報技術者平成30年秋期 午前問47

ソフトウェアアーキテクチャパターンのうち,仕様の追加や変更による影響が及ぶ範囲を限定できるようにするために,機能を業務ロジック,画面出力,それらの制御という,三つのコンポーネントに分けるものはどれか。

1、MVC(model-view-control)は、対話型アプリケーションを、モデル、ビュー、コントローラという3つのコンポーネントに分割して設計・実装するアーキテクチャパターンです。
 ・モデル層
  そのアプリケーションが扱う領域のデータと手続きを表現する要素。多くのアプリケーションにおいてはデータベースの機能が、この層に該当する。
 ・ビュー層
  モデル層のデータを取り出してユーザが見るのに適した形で表示する要素。WebシステムではHTMLを生成して、動的にデータを表示するためのプログラムなどが、この層に該当する。
 ・コントローラ層
  ユーザの入力に対して応答し、それを処理する要素。受け取った入力に応じてモデル層やビュー層に処理を依頼する。

2、Brokerは、
分散環境において、互いに依存性を持たないコンポーネント群が、リモートサービスを起動することによって相互作用するという構造をもつアーキテクチャパターンです。

3、Layersは、
アプリケーションを特定の抽象レベルに属するサブタスクのグループ群に分割するアーキテクチャパターンです。

4、Pipes and Filtersは、
データストリームに対する一連の処理を、容易に追加又は削除できるように分割して個々にカプセル化し、段階的に実行することにより、柔軟な組み換えが可能なシステムを作成するアーキテクチャパターンです。

参照:
https://www.ap-siken.com/kakomon/30_aki/q47.html