generated at
2/16/2025, 1:38:38 AM
MVC
入力、出力、データ処理を各コンポーネントに分割した
原初MVCは
Compositeパターン
、
Strategyパターン
、
Observer Patern
の組み合わせで構成されていた
データの流れは一方通行
3つのコンポーネント
Controller
Model
データの定義と、そのデータの操作をする
UIとの依存性は小さい
View
UIに情報を表示する
View
は
Model
をObserveしている
Cocoa MVC
appleが提唱
ModelとViewを完全に分離し、Controllerがそれぞれを参照するようにした
問題点
MとVの双方向バインディング?
壊れやすく、予測不能で、わかりにくい、複雑になる
スケールしない
誕生
Smalltalk-80
は子供でもわかりやすい究極のインターフェースである
Dynabook
のために生まれたが、その際に対話型のユーザーインターフェースを構築するために
MVC
が考案された
参考
『iOSアプリ設計パターン入門』
https://speakerdeck.com/tenjuu99/what-mvc-is
http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
原典
Smalltalk
と関係がある
『オブジェクト指向コンピューティング』
6章