🔎 패턴이란?
- 특정한 문제를 효과적으로 해결하기 위한 일반화된 설계 방법이나 해결책
- 반복적으로 나타나는 문제와 그 해결 방식을 체계적으로 정리하여, 개발자들이 이를 재사용할 수 있도록 도움
📌 패턴은 코드의 재사용성과 유지보수성을 높이고, 팀원 간의 커뮤니케이션을 효율적으로 만들 수 있음
🔎 패턴의 종류
- 디자인 패턴: 객체지향 설계에서 자주 사용되는 문제 해결 기법
- 아키텍처 패턴: 소프트웨어의 전체 구조를 설계하기 위한 패턴
- 행동 패턴: 코드 내에서 객체나 클래스가 상호작용하는 방식을 정의
🔎 MVC 패턴이란?
- 소프트웨어 아키텍처 패턴 중 하나로, Model-View-Controller로 구성
- 애플리케이션을 세 가지 주요 구성 요소로 나누어 책임을 분리해 유지보수성과
확장성을 높이는 데 중점을 둠
-
Model(모델)
- 데이터와 비즈니스 로직 처리
- 데이터베이스와 상호작용하거나 데이터를 가공
- View와는 독립적으로 작동, 데이터가 변경되면 Controller에 알림
-
View(뷰)
- 사용자 인터페이스(UI) 담당
- Model로부터 데이터를 받아 화면에 표시
- 사용자로부터 입력을 받아 Controller로 전달
-
Controller(컨트롤러)
- Model / View 사이의 중개 역할
- 사용자의 입력을 처리, 적절한 Model, View 업데이트
- 비즈니스 로직은 주로 Model에 위임, View는 결과를 표시
📌 장점
- 유지보수성: 각 구성 요소가 독립적이므로 코드 변경 용이
- 재사용성: View와 Model을 분리해 UI나 데이터 로직의 재사용이 가능
- 유연성: 기능 확장이나 구조 변경이 비교적 간단함
📌 단점
- 초기 설계와 구현이 복잡할 수 있음
- 작은 애플리케이션에는 과도한 설계가 될 수 있음