MVC 패턴MVC 패턴은 GUI 기반 Application 설계 패턴이다. 클라이언트의 요청을 받아 처리하여 응답하는 로직을 MVC 패턴은 Model, View, Controller로 나누어 소프트웨어를 개발하는 설계 방식이다.
MODEL
모델은 2가지의 역할을 한다.첫 번째는 비지니스로직(비지니스 서비스)인 일의 흐름(work flow)를 처리하고, 두 번째는 데이터베이스 관련 로직(DAO)을 처리한다.
프로그램 내부의 데이터 처리를 한다. 사용자가 입력한 데이터나 출력할 데이터를 다룬다.
Java Beans
VIEW
사용자들에게 보여지는 부분이다. 사용자 인터페이스 요소라고 할 수 있다.모델이 처리한 데이터나 그 작업 결과를 사용자에게 화면으로 출력하여 보여준다.
JSP
CONTROLLER
사용자의 요청을 받으면 업무를 수행하는 컴포넌트를 호출한다. 모델이 업무 수행을 완료하면 그 결과를 가지고 뷰에게 전달하여 화면을 생성하도록 한다.
클라이언트 요청에 대해 뷰와 모델을 연결시켜주며, 데이터 흐름을 제어하는 역할을 한다.
Servlet
Model2
Model2 패턴은 Web Application에 MVC 패턴 적용 하는 것이다.
화면에 출력되는 부분은 JSP가 처리하고, 사용자의 요청을 받아서 작업을 수행하는 부분은 자바의 클래스를 이용하는 방법이다.
- Model : Java Beans -> Java class
- View : JSP
- Controller : Servlet
장점
1. 로직코드와 뷰코드의 분리로 유지 보수가 편리하다.
2. 같은 부류의 객체들을 나누어 관리 함으로서 다른 객체 또는 새로 만들어진 객체들과 연결이 명료해지고 깔끔해 진다.
3. 표준에 맞는 개발이 이루어지므로 확장성이 용이하다.
4. 모듈별 검색이 쉽다.
5. 공동 작업이 용이하다.
단점
1. 하나의 로직에 코드를 변경하게 되면 나머지 연결된 로직에 코드들을 모두를 찾아서 변경해야 한다.
2. 소스코드의 복잡도가 증가하여 실행 속도가 느려질 수 있다.
3. 개발 과정이 복잡해 초기 개발 속도가 늦다.
4. 초보자가 이해하고 프로그래밍하기에는 다소 어렵다.
'IT' 카테고리의 다른 글
[스프링/Spring]AOP 개념 (0) | 2017.06.10 |
---|---|
스택, 큐, 데큐 (0) | 2017.05.25 |
배열/배열리스트/연결리스트 (0) | 2017.05.24 |
객체 지향 프로그래밍(Object-Oriented Programming) (0) | 2017.05.23 |
정규화 (0) | 2017.05.23 |