반응형
개발하면서 MVVM, MVC MVP 등등 용어를 사용하게 되는데
어떤 글을 보면 "디자인 패턴의 한 종류"일 뿐이다. 란 글도 있고, 어떤곳에서는 아키택처라고 부르기도하고.. 개인적으로
차이점을 명확하게 정리할 필요가 있다고 생각했고, 필요해서 글을 남기게 되었다.
아키텍처 패턴 vs. 디자인 패턴
- 범위와 초점
- 아키텍처 패턴은 비즈니스 문제에 대한 해결책으로, 아이디어의 추상적인 관점에 더 초점 맞췄다. 전체 시스템의 구조를 설계하는 데 사용된다.
- 디자인 패턴은 매우 구체적인 소프트웨어 관련 작업을 제공하며, 구현 관점에 초점을 둔다. 소프트웨어 개발의 특정 부분에 대한 솔루션을 제공.
- 정의의 수준
- 디자인 패턴은 세부적인 수준에서 정의되는 반면, 아키텍처 패턴은 보다 고수준에서 정의.
- 상호작용
- 하나의 아키텍처 패턴은 여러 디자인 패턴을 사용하여 구현될 수 있다. 아키텍처 패턴과 디자인 패턴 사이에 일대다 관계가 있음을 나타냄.
주요 아키텍처 패턴
- MVC (Model-View-Controller)
- MVP (Model-View-Presenter)
- MVVM (Model-View-ViewModel)
- VIPER
- 쓰리-티어/멀티-티어
- 의존성 주입
주요 디자인 패턴
- 갱 오브 포(Gang of Four, GOF)에 의해 정의된 23가지 디자인 패턴이 있으며, 이는 생성 패턴, 구조 패턴, 행위 패턴으로 분류.
결론
아키텍처 패턴은 더 높은 수준의 추상화를 제공하고, 프로젝트나 솔루션의 전체 구조에 관한 지침을 제공한다.
반면, 디자인 패턴은 구체적인 소프트웨어 개발 문제에 대한 솔루션을 제공한다.
"아키텍처 패턴 >>>>> 디자인 패턴"
반응형
'Architecture_Pattern' 카테고리의 다른 글
MVP 패턴(Model, View, Presenter) for UIkit (0) | 2024.05.31 |
---|---|
현재 정착한 mvvm 아키택처 패턴 (for UIKit) (2) | 2024.03.11 |