디자인 패턴이란 소프트웨어 설계에 공통적으로 발생할 수 있는 문제들에 대해 많은 사람들이 경험적으로 터득한 노하우, 방식을 패턴으로써 구체화시킨 것을 말한다.
그중에서도 백엔드 기반의 웹 애플리케이션 개발의 기본 모델으로 쓰이는
MVC(Model-View-Controller) 패턴에 대해서 알아보자.
큰 틀에서 MVC 디자인 패턴의 의의는 화면과 데이터 처리를 분리해 코드 간의 종속성을 줄이고, 구성요소 간의 역할을 명확하게 함으로코드 분리가 쉽고 협업을 용이하게 한다는 점이다.

Model
-애플리케이션의 데이터와 비즈니스 로직을 담당하는 부분-데이터의 상태를 저장, 접근, 조작
-뷰, 컨트롤러에 독립적인 구조
-실제 구현에서는 데이터베이스와의 연동을 위한 DAO(Data Access Object) 클래스와, 데이터 구조를 표현하는 DO(Data Object) 클래스로 구성.
-데이터에 변경 사항이 발생하면, 모델이 이를 컨트롤러에게 통지하여 결과적으로 뷰까지 업데이트가 이루어지도록 함.
View
-사용자 인터페이스를 담당하는 영역
-모델, 컨트롤러와의 종속성이 없도록 구현해야 함
Controller
-모델과 뷰 사이의 상호작용을 관리(MVC 패턴의 핵심으로 모든 사용자 요청의 중심에 위치)
-특정 뷰를 지정하므로 뷰와의 종속관계가 발생함
-컨트롤러의 비중을 줄여주기 위해서 Service단을 활용하기도 함.
MVC 패턴의 장점
-디자이너와 개발자의 분업이 가능하다
-각 역할의 엄격한 분리를 통해 소프트웨어의 유연성이 늘어남(유지보수가 용이해진다)
-단순하고 직관적이다.
-코드 재사용을 통한 효율성 증가
'CS > 오픈소스SW개발방법및도구' 카테고리의 다른 글
| c++ UnitTest(Visual studio 2022 활용) (0) | 2023.05.19 |
|---|---|
| Alphine Linux에 대해 알아보기 (0) | 2023.04.15 |
| Draw.io를 이용한 FlowChart 만들어보기 (0) | 2023.04.09 |
| LINE TODAY 서비스 개발 및 도입에 활용된 애자일 기법 (0) | 2023.04.04 |
| Java에 대해 알아보자 (0) | 2023.03.22 |