MVC XEROX PARC - ChoDragon9/posts GitHub Wiki
title: MVC XEROX PARC sidebar: auto
μ΄ λ¬Έμλ MVCμ νμ€ν λ¦¬κ° λ΄κΈ΄ MVC XEROX PARC 1978-79μ λ²μν λ¬Έμμ λλ€.
XEROX PARC(μ λ‘μ€ νν¬)λ λ―Έκ΅ μΊλ¦¬ν¬λμμ£Όμ μλΆμ μλ λμμΈ ν°λ‘μ¨ν [Palo Alto]μ μλ νμ¬μ λλ€. PARCλ μ»΄ν¨ν° μ°κ΅¬/κ°λ°μ νλ μ 보 κΈ°μ λ° νλμ¨μ΄ μμ€ν μ κΈ°μ¬ν κ²μΌλ‘ μ λͺ ν νμ¬μ λλ€.
1978λ μ¬λ¦λΆν° 1979λ μ¬λ¦κΉμ§ μ λ μ λ‘μ€ νν¬μ νμ΅ μ°κ΅¬μκ³Ό ν¨κ» λ°©λ¬Έ κ³Όνμλ‘μ λ§€μ° ν볡νκ³ κ³ λ¬΄μ μΈ ν΄λ₯Ό 보λμ΅λλ€. μ΄ κ·Έλ£Ήμ Alan Kayμ λΉμ μ μν΄ μμ μ/μ¬μ©μμ λν λͺ¨λ κ΄μ¬ λ°μ΄ν°λ₯Ό ν¬ν¨ν΄μΌ νλ ν΄λμ© μ»΄ν¨ν°μΈ Dynabookμ λν νμ νμ΅λλ€. κ°μ₯ μ€μν κ²μ, μ΄λ¬ν λ°μ΄ν°μλ μμ μκ° μ΄λ₯Ό μ‘°μνλ λ° μ¬μ©ν νλ‘κ·Έλ¨μ΄ ν¬ν¨λμ΄ μλ€λ κ²μ λλ€. μμ μ/μ¬μ©μλ νλ‘κ·Έλ¨μ μ΄ν΄νκ³ μμ±ν μ μμ΄μΌ νλ©°, λ°λΌμ μ»΄ν¨ν°λ³΄λ€ μ°μλ₯Ό ν보ν μ μμ΄μΌ ν©λλ€.
MVC λ ΈνΈλ μ΄ λ°°κ²½μ νλ ν΄μΌ ν©λλ€. The user was the czar; everything done at LRG was done to support him. μ΄κΈ° λ¬Έμμλ MVCμ λν λͺ κ°μ§ λ°°κ²½(1979.03.22)μ΄ μΆκ°λμ΄ μμ΅λλ€.
μ λ κ°λ μ λ₯λ ₯λ³΄λ€ λ λ§μ 곡μ μΈμ λ°μμ΅λλ€. κ·Έλμ μ λ Smalltalkμ λ
μ°½μ μΈ λ°λͺ
κ°κ° μλλΌλ κ²μ κ°μ‘°ν΄μΌ ν©λλ€.
μ λ μ΄ νμ μ μΈ νμ μ λ§€μ° λΉ λ₯΄κ³ μ΄μ μ μΈ μ¬μ©μ μ€ ν λͺ
μΌ λΏμ
λλ€.
1978λ
μ λ‘μ€ νν¬μ μλ μ΅μ΄μ MVC λ
ΈνΈ
λ₯Ό μ²μμΌλ‘ ꡬννμ¬ μΌμ΅λλ€.
λ©λͺ¨λ Model, View, Controller λ° Editorμ λ€ κ°μ§ μ©μ΄λ₯Ό μ μν©λλ€.
Editorλ Viewμ λ§μ°μ€ λ° ν€λ³΄λμ κ°μ μ
λ ₯ μ₯μΉ μ¬μ΄μ μΈν°νμ΄μ€λ‘ νμν λ μμ±νλ μ¬μ© ν μμ κ΅¬μ± μμμ
λλ€.
μ§ μν ν(Jim Althoff)μ λ€λ₯Έ μ¬λλ€μ μ κ° μ λ‘μ€ νν¬λ₯Ό λ λ νμ MVCλ₯Ό Smalltalk-80 class libraryμ μ μ©νμ΅λλ€. μ λ μ΄ μΌμ κ΄μ¬νμ§ μμμ΅λλ€. μ§ μν ν(Jim Althoff)λ λμλ μ‘°κΈ λ€λ₯΄κ² ControllerλΌλ μ©μ΄λ₯Ό μ¬μ©νλ€. μλμ MVCμ μ€μν μΈ‘λ©΄
μ κ·Έκ²μ Controllerκ° κ·Έκ²μ νμ Viewλ₯Ό λ§λ€κ³ μ‘°μ νλ μ±
μ
μ΄ μλ€λ κ²μ΄μμ΅λλ€. λν μ΄νμ MVC ꡬνμμλ Viewκ° μμ κ³Ό κ΄λ ¨λ μ¬μ©μ μ
λ ₯μ μμ©νκ³ μ²λ¦¬ν©λλ€. Controllerλ Controller/View μ΄μ
λΈλ¦¬μ κ΄λ ¨λ μ
λ ₯μ μμ©νκ³ μ²λ¦¬νλ©°, νμ¬λ Toolμ΄λΌκ³ ν©λλ€.
MVCμ κΈ°λ³Έ λͺ©μ
μ μ¬μ©μμ λ©νλͺ¨λΈκ³Ό μ»΄ν¨ν°μ μ‘΄μ¬νλ λμ§νΈ λͺ¨λΈ κ°μ μ°¨μ΄λ₯Ό μ°κ²°
νλ κ²μ
λλ€.
μ΄μμ μΈ MVC μ루μ
μ μ¬μ©μκ° λλ©μΈ μ 보λ₯Ό μ§μ λ³΄κ³ μ‘°μνλ μ°©κ°μ μ§μ
ν©λλ€.
μ΄ κ΅¬μ‘°λ μ¬μ©μκ° λμΌν λͺ¨λΈ μμλ₯Ό λ€λ₯Έ 컨ν
μ€νΈμμ λμμ 보거λ λ€λ₯Έ κ΄μ μμ 보μμΌ νλ κ²½μ°μ μ μ©ν©λλ€. μλ κ·Έλ¦Όμ κ·Έ μκ°μ 보μ¬μ€λλ€.
MVCλ μ¬μ©μκ° ν¬κ³ 볡μ‘ν λ°μ΄ν° μΈνΈλ₯Ό μ μ΄νλ λ¬Έμ μ λν μΌλ°μ μΈ ν΄κ²°μ± μΌλ‘ κ°μ£Όλμμ΅λλ€. κ°μ₯ μ΄λ €μ΄ λΆλΆμ λ€λ₯Έ 건μΆμ μμλ€μ μ’μ μ΄λ¦μ λΆλͺνλ κ²μ΄μμ΅λλ€. λͺ¨λΈ λ·° νΈμ§κΈ°(1979.05.12)κ° μ²« λ²μ§Έ μΈνΈμμ΅λλ€.
νΉν Adelle Goldbergμ μ€λ ν λ‘ λμ Model-View-Controller(1979.12.10)λΌλ μ©μ΄λ₯Ό μ¬μ©νμ΅λλ€.
Controllerλ μ κ° μ§κΈ Toolμ΄λΌκ³ λΆλ₯΄λ κ³³μ μμμ΅λλ€. Smalltalk-80 Controllerλ EditorλΌλ λ€ λ²μ§Έ μμμ λλ€. μ΄κ²μ Viewμ λ§μ°μ€μ ν€λ³΄λ κ°μ μ λ ₯ μ₯μΉ μ¬μ΄μ μΈν°νμ΄μ€λ‘ νμμ λ°λΌ Viewκ° μμ±νλ μ¬μ© ν μμ ꡬμ±μμμ λλ€.
MVC λ¬Έμ λ λ΄κ° 1979λ μ κΉ¨λ¬μ κ²λ³΄λ€ λ λ§μ μΈ‘λ©΄μ κ°μ§κ³ μμ΅λλ€. μ λ 2003λ 8μ 20μΌμ μ°μ¬μ§ λ§μ§λ§ μ΄μμ΄ μλ‘ λ€λ₯Έ μΈ‘λ©΄μ λΆλ¦¬νκΈ° μν΄ ν¨ν΄ μΈμ΄λ₯Ό μ°κ΅¬νκΈ° μμνμ΅λλ€. κ·Έ κ³νμ νμ¬μ λ¨ ν λͺ μ μκ°λ§μ΄ μλλΌ ν κ·Έλ£Ήμ μκ°λ€μ μν΄ κ°μ λμ΄μΌ νλ€λ κ²μ΄μμ΅λλ€. λΆννκ²λ, κ·Έ νλ‘μ νΈλ κ·Έμ μμ μμ μ€λ¨λμμ΅λλ€.
MVC Pattern Language(2003.08.20)
κ³Όκ±° λ° νμ¬
The Model-View-Controller (MVC ). Its Past and Present
- JavaZONE, Oslo, 2003.
- Handout with draft pattern language PDF
MVCλ 1978λ μ νΉμ λ¬Έμ μ λν μ€κ³ μ루μ μΌλ‘ ꡬμλμμ΅λλ€. μ΅μμ λͺ©νλ κ΄λ ¨ μ 보 곡κ°μ λν μ¬μ©μμ λ©νλͺ¨λΈμ μ§μνκ³ μ¬μ©μκ° μ΄ μ 보λ₯Ό κ²μ¬νκ³ νΈμ§ν μ μλλ‘ νλ κ²μ΄μμ΅λλ€. 첫 λ²μ§Έ λΆλΆμμλ μλ λ¬Έμ λ₯Ό μ€λͺ νκ³ μ νν μ루μ μ λν΄ μ€λͺ ν©λλ€. λ λ²μ§Έ λΆλΆμμλ μλμ μμ΄λμ΄λ₯Ό μ€λͺ νκ³ νμ¬μ λΉλ©΄ κ³Όμ λ₯Ό μλ λͺ©νκΉμ§ ν¬ν¨νλλ‘ λ²μλ₯Ό νμ₯ν©λλ€. κ·Έκ²μ λͺ¨λ μμ½λ MVC ν¨ν΄ μΈμ΄λ‘ μμ½λμ΄ μμ΅λλ€.
THING-MODEL-VIEW-EDITOR an Example from a planning system.
- Xerox PARC technical note May 1979 PDF
μλ MVC 리ν¬νΈμ
λλ€. λ
Έλ₯΄μ¨μ΄μ μλ Aker Groupμ μΌλλ μλ
κ° λ€νΈμν¬ κΈ°μ κ³Ό μμ λ°©λ²μ μ¬μ©νμ¬ κ³ν λ° μ μ΄ν΄ μμ΅λλ€. μ¬μ©λ μμ€ν
μ λ§μ‘±μ€λ½μ§ λͺ»νλ©°, μλ‘μ΄ λͺ¨λΈλ§ λκ΅¬κ° κ°λ°λμμ΅λλ€. μ΄ λꡬμ κΈ°λ³Έ κ΅¬μ± μμλ κΈ°μ‘΄ λ€νΈμν¬μ νλλ³΄λ€ ν¨μ¬ λ κ°λ ₯ν©λλ€. κ·Έκ²μ μ»΄ν¬λνΈ
λΌκ³ λΆλ¦¬λ©°, κ·Έκ²λ€μ μ‘°μνλλ° νμν μ체 λ°μ΄ν°μ μκ³ λ¦¬μ¦
μ λͺ¨λ κ°μ§κ³ μμ΅λλ€. κ° κ΅¬μ±μμλ μΌλμ μ€μ νκ²½μμ μλ³ κ°λ₯ν λΆλΆμ λνλ
λλ€. κ³ν νλ‘μΈμ€λ μμ λ μ 보μ λ°λΌ μ 보λ₯Ό μλ‘ μ£Όκ³ λ°λ κ΅¬μ± μμλ‘ μ΄λ£¨μ΄μ§λλ€.
MODELS - VIEWS - CONTROLLERS
- Xerox PARC technical note December 1979 PDF
PROKON/PLAN-A MODELLING TOOL FOR PROJECT PLANNING AND CONTROL.
- Paper, IFIP Congress, Toronto, Canada, 1977
- First published in the 1977 IFIP Proceedings.
- Scanned by the author July 2003. PDF
λ Έλ₯΄μ¨μ΄μ μλ Aker Groupμ μΌλλ μλ κ° λ€νΈμν¬ κΈ°μ κ³Ό μμ λ°©λ²μ μ¬μ©νμ¬ κ³ν λ° μ μ΄ν΄ μμ΅λλ€. μ¬μ©ν μμ€ν μ λ§μ‘±μ€λ½μ§ λͺ»νλ©°, λ§λΉμ μν΄ μλ‘μ΄ νμ λꡬλ₯Ό κ³ μνμ΅λλ€. μ΄ λꡬμ κΈ°λ³Έ κ΅¬μ± μμλ κΈ°μ‘΄ λ€νΈμν¬μ νλλ³΄λ€ ν¨μ¬ λ κ°λ ₯ν©λλ€.
κ·Έκ²μ μ»΄ν¬λνΈ
λΌκ³ λΆλ¦¬λ©°, κ·Έκ²λ€μ μ‘°μνλλ° νμν μ체 λ°μ΄ν°μ μκ³ λ¦¬μ¦
μ λͺ¨λ κ°μ§κ³ μμ΅λλ€. κ° κ΅¬μ±μμλ μΌλμ μ€μ νκ²½μμ μλ³ κ°λ₯ν λΆλΆμ λνλ
λλ€. κ³ν νλ‘μΈμ€λ μμ λ μ 보μ λ°λΌ μ 보λ₯Ό μλ‘ μ£Όκ³ λ°λ κ΅¬μ± μμλ‘ μ΄λ£¨μ΄μ§λλ€. A/S λ²κ²μ€ λ©μΉ΄λμ€μΌ λ² λ₯΄μΌλ μ€κ³λΆλ¬Έ κΈ°ν λ° κ΄λ¦¬λ₯Ό μν μ€νμ μμ€ν
μ΄ κ°λ°λμμ΅λλ€.
ADMINISTRATIVE CONTROL IN THE SHIPYARD.
- Paper, ICCAS conference, Tokyo, 1973.
- Scanned by the author July 2003 PDF
μΌλμ μ‘°μ§μ μ¬μ©νλ μ 보 μμ€ν μ μν₯μ ν¬κ² λ°μ μ μμ΅λλ€. μμ€ν κ°λ°μ μ‘°μ§μ μνλ μ§νμ μ’ μλμ΄μΌ ν©λλ€. λ°μ΄ν° νλ‘μΈμ€ ν΅μ μ μμΉμ κΈ°μ‘΄ μ‘°μ§μ μ ν©μν€κ³ μ§μμ μΈ κ°λ°μ μ μνκΈ° μν΄ μ½κ² λͺ°λ©λλ μ 보 μμ€ν μ ꡬμΆνκΈ° μν λκ΅¬λ‘ λμ λ©λλ€. μ리μ λν μ€λͺ κ³Ό μ΄λ₯Ό μ€μ μ λ° νμ¬μμ μννκΈ° μν΄ μ€κ³λ μλ‘μ΄ μμ€ν μ κ°μκ° μ 곡λ©λλ€.