ObjectSquare [1999 年 7 月号]

[Happy Squeaking!!]


3.事例:MVCアーキテクチャ

3.2 MVCとは


MVCは、「対話型のアプリケーションを作成するためのアーキテクチャ」といえます。Squeakに限らず、多くのSmalltalkが、このMVC(もしくはその発展形)と呼ばれるアーキテクチャを用い、高度にインタラクティブなGUIを実現しています。

MVCはそれぞれ、Model、View、Controllerを意味しています。Smalltalkはもともと、単なるオブジェクト指向言語というよりは、DynaBookという、あらゆる人が鉛筆、紙、本のように使える理想のコンピューター用のOS言語として考え出された経緯が有り、「対話性の実現」を非常に重視していました。

ビットマップディスプレイやマウスを使うというアイデアも、現在では当たり前となりましたが、当時としては奇抜なものでした。これは友達のように話し掛けられるコンピュータとしてDynaBookを作り上げるため、必要不可欠なものとして考え出されたのです。もともとコンピュータが扱っていたデータ(一種のModel)に加えて、ディスプレイ(一種のView)、マウス(一種のController)をどのように上手く扱っていけばいいのかということは、当時Smalltalkに課せられた重要な要求だったわけです。

時は過ぎ、Smalltalkによって始めて導入されたMVCアーキテクチャは、その後のMacApp、ET++、MFCのDoc-View、JavaのSwingといった具合に、様々なGUIフレームワーク上で少しづつ形を変えて採用され、その有効性が実証されてきました。(MVCが万能というわけではなく、この期間に欠点を補うための試行錯誤もされています)。MVCアーキテクチャは現在ではGUIだけでなく、より広い意味で使われる傾向にあります。UMLでのEntity、Boundary、Controlは、オリジナルのMVCとは性質を変えていますが、基本的な発想は紛れもなくMVCから来たものです。

このようにMVCには様々なバリエーションがありますが、以後は、クラシックなMVCについて説明することにしましょう。


© 1999-2001 OGIS-RI Co., Ltd.

Prev.

Index

Next