일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- springframework
- java8
- #abex
- #리버싱
- GraphQL
- leetcode
- #크랙미2번
- java
- #abex크랙미
- #보안뉴스
- #크랙미3번
- #abex크랙미4번
- #보안이슈
- Spring
- #크랙미 9번
- #크랙미4번
- #심플즈 크랙미
- #크랙미 5번
- #파밍
- 리버싱
- #크랙미 10번
- #크랙미
- Easy
- #고클린
- #심플즈
- Today
- Total
Halo World
MVC 패턴이란? 본문
| 디자인 패턴
소프트웨어의 개발 방법을 공식화한 것
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
'개발 지식 > JAVA' 카테고리의 다른 글
접근 제한자 (0) | 2017.06.03 |
---|---|
싱글톤(Singleton) (0) | 2017.06.03 |
객체 지향 프로그래밍의 특징(캡슐화, 상속, 다형성) (0) | 2017.06.02 |
컴파일러, 인터프리터, 하이브리드 (0) | 2017.06.01 |
JSP 모델1, 모델2 개념과 장단점 (0) | 2017.06.01 |