Team G.HARD :: cult of hard-corder

* MVC
 : MFC 프로그래밍을 해봤으면 많이 들어봤겠지만, 일반적으로 어플리케이션은 3 layer로 나누어서 프로그래밍한다. 웹 어플리케이션 역시 구조가 나누어진다.
  Layer를 나누어 프로그래밍하면 솔직히 더 많은 클래스, 인터페이스가 생기고 복잡한 메소드들도 추가되는데 왜 이렇게 나누려고 하는가?라고 의문이 들것이다.
  나 역시 그런 의문이 들었었고, 서비스를 하나씩 개발하면서 알게되었다. 이렇게 명시적으로 나누어 둠으로서 각 Layer간의 결합도를 낮출 수 있으며, 무엇보다 고객의 요구사항으로 인해 한 Layer에서 변경사항이 생기더라도 그 여파가 다른 Layer에게 많이 미치지 않게할 수 있다(ripple effect). 이론상으로 OOP 관점에서 잘 만들어진 Object들끼리의 결합일 경우에는 말이다. (자자... OOP 프로그래머가 할꺼라면 디자인 패턴을 공부해보자.)

* Model
 : 모델 객체. 보통 DB의 특정 테이블을 읽어와서 매핑한다. 자바의 모델 객체는 setter/getter 메소드와 property의 field로 이루어져 있다. 데이터를 담는 것외의 역할은 하지 않는다.

* View
 : 웹 어플리케이션에서는 Servlet 클래스를 View단이라고 한다. 혹 front end라고도 한다. 사용자에게 데이터를 보여주거나, 데이터를 입력받는 역할을 한다.

* Controller
 : Business Logic, 데이터로 수많은 operation을 처리하고 View로 데이터로 넘기거나 Model을 가지고 DB에 저장하는 역할의 Layer이다.

다음에는 실제적으로 자바 웹 어플리케이션에서 MVC 각 Layer에서 사용하는 Open Source Frame work에 대해 간략하게 알아보겠다.
Posted by xHuro
teQnical/Java dev. l 2007. 1. 13. 20:58

최근에 올라온 글

카테고리

분류 전체보기 (32)
G.HARD bunker (4)
daily routine (18)
rumor says... (0)
teQnical (7)
projeKt (2)

달력

«   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
tistory!get rss Tistory Tistory 가입하기!