Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

시다바리

[Java] MVC 본문

Language/Java

[Java] MVC

호서아빠 2008. 8. 21. 20:00

* MVC : Model, View, Controller

- MVC패턴은 Smalltalk에서 그래픽 인터페이스와 실제로 동작하는 코드를 분리하기 위해 개발되었다.
- 지금은 다른 객체지향언어에서도 널리 사용되는 패턴 중 하나이다.

▶ Model

프로세스 주요 로직
- DAO (Data Access Object) : DB table에 접근하여 삽입, 수정, 삭제, 검색하는 로직
- VO (Value Object) : View, Controller, Model 사이에서 DB Table에 대한 정보를 표현하는 객체

모델(model)이란 어떠한 동작을 수행하는 것을 코드를 말한다.
표시 형식에 의존하지 않는다. 다시 말해, 사용자에게 어떻게 보여질지에 대해 신경쓰지 않아도 된다.
모델은 순수하게 public 함수로만 이루어진다.
몇몇의 함수들은 사용자의 질의(query)에 대해 상태 정보를 제공하고 나머지 함수들은 상태를 수정하는 함수이다.

▶ View

GUI
- 화면을 구성하는 프로세스

MVC에서 모델은 여러 개의 뷰(view)를가질 수 있다.
뷰는 모델에게 질의를 하여 모델로 부터 값을 가져와 사용자에게 보여준다.

▶ Controller

View와 Model 사이에서 조정해 주는 역할

View에서 들어온 input을  Model에 전달하고 Model에서 처리한 결과를 View에 전달시켜 준다.
MVC의 뷰는 여러 개의 컨트롤러(Controller)를 가지고 있다.
사용자는 컨트롤러를 사용하여 모델의 상태를 바꾼다.
컨트롤러는 모델의 mutator 함수를 호출하여 상태를 바꾼다.
이 때 모델의 상태가 바뀌면 모델은 등록된 뷰에 자신의 상태가 바뀌었다는 것을 알리고 뷰는 거기에 맞게 사용자에게 모델의 상태를 보여 준다.

Comments