|
*PS: 이 글은 James Coplien 의 온라인 프레젠테이션에서 영향을 받아서 쓰여진 글입니다.
MVC 패턴이란 Model-View-Control 패턴의 줄여서 표현하는 말입니다. 이 패턴은 이미 고전이 되어버린 GoF 의 Design pattern 에 소개되어있는데요, 그 후로 많은 곳에서 사용되고 있어서 이미 유행어가 되어버렸습니다. 하지만 저는 MVC 에서 Model 의 의미가 명확하게 설명된 것을 거의 보지 못했습니다. ![]() 다른 예로 웹 프로그래밍에 유명한 J2EE 의 JaveBean 도 MVC 를 표방합니다. 그런데 JavaBean 으로 코딩을 해보면 각 Bean 들은 Control 이고 JSP 나 HTML 파일들은 View 에 해당합니다. 그럼 Model 은 어디에??? 먼저 결론부터 말하면 Model 이란 사용자를 기준으로 사용자의 정신 상태를 반영하는 것, 다른 말로 (정신적) 모델을 의미합니다. 예를 들어 아마존에서 사용자가 물건을 구매할때에 "나는 이 책을 카트에 담아야겠다"라고 생각을 하면서 아마존을 사용하는 중이라면 여기서 "카트" 와 "책"이 모델이 되는 것입니다. 다른 예를 들어서, MS-Word 를 사용자가 사용하는 중에 그림(Picture)를 문단 사이에 집어 넣기로 결정하면 여기서 "그림"이라는 것이 "일반 문장" 모델과는 구분되는 다른 모델이 되는 것입니다. ![]() ![]() | ||||