2009년 9월 22일 화요일

MVC(Model-View-Controller) #1

MVC에 대해 알아보도록하자.

  • View
    UI 요소를 그려줍니다.
  • Controller
    UI의 사용자 액션에 응답하고 데이터 흐름을 제어합니다.
  • Model
    MVP 패턴의 Model과 마찬가지로 데이터와 상태를 유지하며 데이터 처리 로직을 포함합니다.
  •  

    여기서 잠깐.. 모델이 Database라고만 오해 하시는 분들이 있을수 있다.. 나역시 지금까지..

    모델은 DB다! 이렇게 단정지어서 알고 있었기 때문이다. 물론.. 아닌 분들도 있겠지만 말이다.

     

    결론적으로 말하자면 Model은 사용자를 기준으로 사용자의 정신 상태를 반영하는 것, 다른 말로 (정신적) 모델을 의미합니다.

    예를 들어, (MVC를 표방하는) MFC 에서 View 라고 하면 UI 인터페이스 편집기에서 버튼달고 메뉴 달고 하는 것을 의미하고 Control 이라고 하면 해당 버튼이나 메뉴에 해당하는 동작들을 클레스 안에다가 구현하는 것을 의미합니다. 그럼 Model 은 어디에 있지요???

    다른 예로 웹 프로그래밍에 유명한 J2EE 의 JaveBean 도 MVC 를 표방합니다. 그런데 JavaBean 으로 코딩을 해보면 각 Bean 들은 Control 이고 JSP 나 HTML 파일들은 View 에 해당합니다. 그럼 Model 은 어디에???


    정리하면, Control 은 사용장의 입력을 받아서 어떤 "행동"을 하는 것을 담당하고, View 는 모든 처리가 끝난뒤에 사용자에게 "보여지는" 부분을 담당합니다. Model 은 사용자가 머릿속으로 무엇을 연상하면서 그 시스템을 사용중인가를 반영하는 것입니다. 여기에서 Control 과 View 는 Model 과 사용자 사이를 이어주는 "수단"이 되는 것입니다.

    그러니까 Model이라는것은 DB만을 생각해서는 안되는것이지요.

     

    출처 : http://blog.jeidee.net/tag/MVC%20Pattern

             http://wrice.egloos.com/4966863
             http://blog.naver.com/blueweber?Redirect=Log&logNo=90052017455

    댓글 없음:

    댓글 쓰기