ソフトウェアアーキテクチャパターンのうち,仕様の追加や変更による影響が及ぶ範囲を限定できるようにするために,機能を業務ロジック,画面出力,それらの制御という,三つのコンポーネントに分けるものはどれか。
正答3
解説
正解は3です。
この問題は、機能を業務ロジック、画面出力、それらの制御の3つに分けるソフトウェアアーキテクチャパターンを問うています。
【選択肢別解説】
1:× Brokerは、分散したコンポーネントの間に仲介役(ブローカ)を置き、要求の受渡しを仲介させるパターンです。
業務ロジックと画面出力を分けるものではありません。
2:× Layersは、システムを複数の階層に分け、上位の層が下位の層の機能だけを利用する構造にするパターンです。
業務ロジック、画面出力、制御という3つのコンポーネントに分けるものではありません。
3:○ MVCは、業務ロジックとデータを扱うModel、画面出力を担うView、利用者の入力を受けて両者を制御するControllerの3つに機能を分けるパターンです。
画面のデザインを変更してもModelに影響しないなど、変更の影響範囲を限定できます。
4:× Pipes and Filtersは、データを処理する部品(フィルタ)をパイプでつなぎ、データを順に流して処理するパターンです。
UNIXのコマンドをパイプでつなぐ処理が代表例です。
【ポイント】
MVCはModel(業務ロジック)、View(表示)、Controller(制御)の頭文字です。
Webアプリケーションのフレームワークで広く採用されています。