Halo World

MVC 패턴이란? 본문

개발 지식/JAVA

MVC 패턴이란?

_Yeony 2017. 6. 1. 19:55

| 디자인 패턴


  소프트웨어의 개발 방법을 공식화한 것

  MVC 패턴, 싱글톤 패턴 등이 이에 속함




| MVC 패턴


Model, View, Controller의 약자로 어플리케이션을 세가지 역할로 구분


 > Controller

   - 클라이언트의 요청을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 컴포넌트를 호출하는 역할

   - 클라이언트 요청에 대해 모데과 뷰를 결정하여 전달

   - 모델에 명령을 보냄으로써 모델의 상태를 변경하 수 있고(예 : 워드 프로세서에서 문서를 편집), 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀수 있다(예 : 문서를 스크롤하는 것).


 > Model 

   - 데이터 저장소와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 역할

   - 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보

   - 이와 같은 통보를 통해 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있다.


 > View

   - 모델이 처리한 데이터나 그 작업 결과를 사용자에게 출력할 화면을 보여주는 역할

   - 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어옴



 

[MVC 패턴 구조]

 

 

 

 

 > 원리

   : 사용자가 컨트롤러를 조작하면 컨트롤러는 모델을 통해 데이터를 가져오고, 처리한 정보를 뷰를 통해 사용자에게 시각적으로 보여주게된다.

 

 

 > 장점

   - 컨트롤러나 모델에 상관없이 뷰 교체만으로 사용자 화면의 배경색이나 레이아웃을 쉽게 바꿀수 있음

   - 모델 컴포넌트가 작업한 결과를 다양한 뷰 컴포넌트를 통해 클라이언트가 원하는 형식으로 출력 가능

   - 코드 재사용성이 향상됨

   - 개발 속도 향상

   - 컴포넌트의 난이도에 따라 개발자를 배치할 수 있기 때문에 개발에 따른 비용과 속도가 향상되고, 개발 및 유지보수 비용 절감 가능

 



 

 




참조

http://jhc9639.blog.me/220967034588

https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC 

http://blog.naver.com/slimcdp/220962709417 

http://blog.naver.com/slimcdp/220962709417