Header

[ Design Pattern 01 ] MVC 패턴이란


[ Design Pattern 01 ] MVC 패턴이란




MVC 모델
MVC 모델




[ MVC 패턴이란 ]

  • Model, view, controller
  • 웹애플리케이션을 3가지의 구성요소로 나누어 개발과 유지보수를 편하게 하고자 하는데 목적을 둡니다.


[ MVC 나누는 이유 ]


어플리케이션을 만들기위한 코드가 모두 한곳에 모여있다고 한다면 웹디자이너는 어플리케이션의 디자인을 바꾸기 위해서 코드의 디자인 부분과 제어를 위한 부분을 모두 살펴봐야합니다.

그것에 대해 모든 지식이 있어야 필요한 부분만을 바꿀 수 있고 문제를 발생 시키지 않을 것입니다.

개발자 또한 마찬가지인데 로직 부분을 수정하기위해 어플리케이션을 보더라도 디자인을 위한 코드와 로직에 대한 코드를 구분할 줄 알아야합니다.


[ Model ]


어플리케이션의 대한 정보인 Data입니다.
View, Controller 대한 어떤 정보도 지니면 안됩니다.


  • 결합도를 높이기 위함입니다.
  • 재사용성 증가를 위한 목적으로 사용됩니다.
  • Model Data 대한 변경시 이벤트를 발생시켜 전달해야하고, Data변경 이벤트를 처리해야합니다.


[ View ]



  • 사용자 인터페이스 요소를 나타냅니다.
  • 사용자로부터의 입력, 그리고 보여주는 출력을 담당합니다.


Model 정보를 따로 저장해서는 안됩니다.

화면에 글자를 표시하기 위해 Model로 부터 데이터를 전달받을 때 그 데이터를 따로 저장하면 안됩니다.

View는 Model 로부터 데이터를 받아 화면에 표시하는 역할만을 담당하며 다른 요소를 참조하거나 어떻게 동작하는지를 알아서는 안됩니다.


[ Controller ]

데이터와 사용자 인터페이스를 연결하는 역할로 사용자가 데이터를 클릭하고 수정하는 등의 이벤트들을 처리하는 부분입니다.

Controller는 Model과 View에 해당하는 영역에 대해서 알고 있어야 합니다.

컨트롤러는 어플리케이션의 사용자로부터 입력에 대한 응답으로 Model, View를 업데이트하는 로직을 포함하고 있습니다.

(ex, 어떤 리스트에서 항목을 추가하거나 제거하는 입력 폼과 같은 역할입니다.)

[ MVC 패턴 동작과정 ]


1. 사용자가 웹 브라우저를 통해 View를 보고 View를 통해 Controller를 작동시킵니다.

2. Controller에서 필요할 때마다 Model을 참조하여 값을 바꾸거나 값을 가져옵니다.

3. Controller에서 적절한 View를 선택하고 전달받은 Model의 데이터를 View에 같이 보냅니다.

4. View에서는 Model내의 데이터를 활용하여 화면 상에 표출합니다.




다음 과정에서 싱글톤 디자인 패턴에 대해 알아보겠습니다.


댓글 쓰기

0 댓글