모델-뷰-컨트롤러(Model-View-Controller) 패턴
애플리케이션을 세 개의 영역으로 분할하고
각 구성 요소에게 고유한 역할을 부여하는 개발 방식
- 각 컴포넌트는 자신이 맡은 역할만 수행한 후 다른 컴포넌트로 결과만 넘겨주면 되기 때문에 시스템 결합도 저하
- 유지보수 시에도 특정 컴포넌트만 수정하면 되기 때문에 보다 쉽게 시스템 변경 가능
(∵ 도메인(비즈니스 로직) 영역과 UI 영역이 분리)
구성 요소
- 컨트롤러
- 모델과 뷰를 이어주는 역할
- 사용자가 실행한 변경 이벤트들을 처리
- 모델과 뷰의 변경을 모니터링
- 모델
- 데이터의 가공을 책임지는 부분
- 비즈니스 로직을 처리한 후 모델의 변경사항을 컨트롤러와 뷰에 전달
- 뷰
- 사용자에게 보여지는 부분 (유저 인터페이스)
- 받은 데이터를 화면에 표시
- 모델에게 전달받은 데이터를 별도로 저장하면 안됨
- 참조 횟수 스마트 포인터 객체
장점
- 유지보수의 편리성
단점
- 복잡한 대규모 프로그램의 경우, 컨트롤러가 불필요하게 커짐
[ 출처 ]
https://junhyunny.github.io/information/design-pattern/mvc-pattern/
'TIL > Java' 카테고리의 다른 글
[Java] 디자인 패턴 - 프록시 패턴 (0) | 2022.06.01 |
---|---|
[Java] 디자인 패턴 - 싱글톤(Singleton) 패턴 (0) | 2022.06.01 |
[Java] BufferedWriter vs StringBuilder (0) | 2022.05.10 |
[Java] 정규표현식 사용하는 방법 (0) | 2022.05.07 |
[Java] 정규표현식 문법 (0) | 2022.05.07 |