많은 분들이 아키텍처패턴과 디자인패턴을 혼동하고 계셔서 이렇게 포스팅을 하게 되었습니다.
디자인 패턴?
위키백과에서는 디자인 패턴을 다음과 같이 정의하고 있습니다.
소프트웨어 공학의 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용가능한 해결책이다. 소스나 기계 코드로 바로 전홚될수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는데 쓰이는 서술이나 탬플릿 입니다.
디자인 패턴은 프로그래머가 어플리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는데 쓰이는 형식화 된 가장 좋은 관행입니다.
소프트웨어 디자인 패턴 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 소프트웨어 디자인 패턴(software design pattern)은 소프트웨어 공학의 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결
ko.wikipedia.org
위 내용에 근거한 대표적인 디자인 패턴은 여러가지가 있는데 그중 가장 대표적인 4인방 (Gang of four)패턴은 생성패턴, 구조패턴, 행동패턴으로 그룹화 되었습니다.
생성패턴
- 추상 팩토리
- 빌더
- 팩토리 메서드
- 프로토타입
- 싱글턴
구조패턴
- 어댑터
- 브리지 (Bridge)
- 컴포지트
- 데코레이터
- 퍼사드
- 플라이웨이트
- 프록시
행동패턴
- 책임 연쇄
- 커맨드
- 인터프리터
- 반복자(iterator)
- 중재자(Mediator)
- 메멘토
- 옵저버
- 상태
- 전략
- 탬플릿 메서드
- 방문자(visitor)
아키텍쳐 패턴
위키백과에서는 아키텍처 패턴에 대해 아래와 같이 정의하고 있습니다.
주어진 문제 안에서 소프트웨어 아키텍처의 공통적인 문제에 대한 일반적인, 재사용 가능한 해결책을 의미한다.
아키텍처 패턴은 디자인패턴과 비슷하지만 더 넓은 범위에 속한다.
아키텍처 패턴 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전.
ko.wikipedia.org
안드로이드 아키텍처 패턴에는 대표적으로 3가지 패턴을 말할수 있죠
MVC 패턴,MVP 패턴,MVVM 패턴 이렇게 말입니다.
그래서 디자인패턴과 아키텍처 패턴 차이 결론은?
핵심이죠. 그래서 디자인패턴과 아키텍처 패턴의 차이는 무엇인가..
먼저 아키텍처 패턴은 프로그램 내에서 큰 구조로 구성되며 다른 요소들을 관리하는 역할을 하는것을 합니다.
반면 디자인 패턴은 특정 유형의 문제를 해결하는 방법으로 아키텍처 패턴보다 더 좁은 개념에 포합됩니다.

즉 쉽게 말해 프로그램의 킅 설계는 아키텍처패턴, 그안의 세부적인 설계는 디자인패턴이라고 이해하시면 될거 같습니다.
'개발관련 > 용어' 카테고리의 다른 글
개발용어 - API란 뭔가요? (0) | 2023.06.29 |
---|---|
SOLID 원칙이란? (객체지향 5대원칙) (0) | 2023.06.29 |
객체지향 프로그래밍이란? (0) | 2023.06.29 |
안정정렬, 불안정 정렬, 제자리 알고리즘 / Stable Sort, Unstable Sort, In-place Algorithm (0) | 2023.06.29 |
시간복잡도, 공간복잡도 (0) | 2023.06.28 |