본문 바로가기

프로그래밍/JAVA

디자인 패턴 MVC

MVC( Model - View - Controller )


View : 화면단을 그려주는 Object를 말한다.

예를들어, JSP처럼 Runtime에 고객이 입력한 결과를 동적으로 표시해 주는 Presentation 을 담당하는 놈이다.


Controller : View가 Model(Data공급원)을 직접호출 하게 되면 Model은 화면에 종속되는 형태로 개발되게 된다. 이것을 우리는

강한연결( Strong Coupling) 이라 한다. 이렇게 개발된 Model 개체는 다른곳에서 사용하기가 힘들다.

이를 해결하기 위해( 프로그램의 재활용성을 높이기 위해 )

약한연결( Loose Coupling) 로 프로그램을 구성할 때 우리는 이 Controller를 만들어 구성하게 된다.

=> 화면단에서 사용자가 입력한 Parameter에 따라서, Model Object를 I/F를 통해 유연하게 데이타를 공급할 수 있도록 구성해 준다.

( 주로  JSP의 경우 주로, Servlet 을 사용한다. )

Model : Data를 handling하는 개체를 말한다.

사용처 입장이 아닌 순수 데이타 입장에서 Object를 구성한다. 그리고 Controller가 약속된 방법으로 사용할 수 있도록 I/F 기술을 이용하여 통일된 외부 API를 제공해 줄 필요가 있다.

( 일반적으로 Java에서 데이타 공급원을 bean 이라 부른다. )

필요지식 : 객체지향 Java Object ( Abstract Class, Interface, 다양성, etc ) 에 대한 사전지식이 필요하다.