-Model-View-Controller (MVC) architecture
설명
1) 데이터를 보여주는 것과 처리하는 것을 분리
2) 세가지 논리적 요소로 시스템을 구성
a) 모델: 데이터 처리 담당, 로직
b) 뷰: 데이터 보여주기 ex) 동일한 데이터를 표나 그래프로 보여주기, 웹페이지 자체
c) 컨트롤러: 모델과 뷰를 조합하여 사용자 입력을 처리, 뷰와 모델은 직접 호출하지 않고 컨트롤러를 통해 한다.
ex) 계산기 프로그램.
모델 : 순수하게 계산을 해주는 부분
뷰 : 버튼, 계산결과 창
컨트롤러 : 사용자가 누르면 해당하는 계산을 하라고 모델에게 요청, 모델이 계산하면 뷰에게 그리라고 요청
예시
: 거의 모든 UI 프로그램, web-based application
사용 상황
1) 여러 방법으로 데이터를 보여주고 다룰 때
ex) 어떤 같은 데이터를 막대그래프로, 표로, ...
2) 데이터를 보여주고 다루는 방법에 대한 요구사항이 명확하지 않을 때
: 사용자가 막대그래프를 원하는지, 표를 원하는지 명확하지 않을 때
장점
: 데이터 처리와 데이터 보여주는 방법을 각자 쉽게 변경 가능
ex) 표, 그래프, 텍스트 등 여러 방법으로 동일한 데이터를 보여줄 때 한 가지 보기 방법에서 데이터를 변경하면 나머지 보기 방법들에서도 변경된 데이터를 쉽게 보여줄 수 있음
단점
: 데이터 모델과 데이터를 사용하는 방법이 간단할 때 MVC를 적용하면 코드를 더 작성하게 되고 복잡한 코드가 될 수 있음
'소프트웨어공학론' 카테고리의 다른 글
Repository architecture (0) | 2023.04.28 |
---|---|
Event-driven Control (0) | 2023.04.27 |
Client-Server architecture (0) | 2023.04.27 |
Architectural Patterns - Layered architecture (0) | 2023.04.27 |
Representation (0) | 2023.04.26 |
댓글