Architectural Pattern vs Design Pattern
2024. 5. 30. 10:18ㆍlearning
코드가 특정 문제를 해결할 때, 정형화된 하나의 규칙을 제안하는 것을 ‘디자인 패턴(Design Pattern)’이라 일컫고, 정리된 코드들을 더 추상화된 비즈니스적 문제 해결 관점으로 정리하는 규칙을 ‘아키텍처 패턴(Architecture Pattern)’이라 한다.
https://www.linkedin.com/pulse/architectural-pattern-vs-design-praveen-kumar-kushwaha/
아키텍처 패턴과 디자인 패턴은 밀접하게 관련되어 있기 때문에 차이점이 무엇인지에 대해 궁금해서 쓰는글
- 비슷한듯 다른듯 얼마나 다른가요?
- 또한 둘 다 프로젝트에 어떻게 적합하고 앱 아키텍처가 무엇일까?
아키텍처 패턴은 디자인 패턴보다 범위가 더 넓다.
디자인 패턴은 아키텍처 패턴이 비즈니스 문제에 대한 솔루션인 매우 구체적인 소프트웨어 관련 작업을 제공해준다.
즉, 아키텍처 패턴은 아이디어의 추상적인 관점에 더 중점을 두는 반면 디자인 패턴은 아이디어의 구현 관점에 중점을 둔다.
디자인 패턴의 구현은 세부적인 수준에서 정의되며 아키텍처 패턴은 높은 수준에서 정의된다.
예를 들어 Factory 또는 Builder 패턴의 다양한 구현은 다양한 프로젝트에서 매우 유사해 보일 수 있다.
그러나 동일한 아키텍처 패턴은 프로젝트마다 많이 다를 수 있다.
하나의 아키텍처 패턴은 다양한 디자인 패턴을 사용하여 구현할 수 있다.
아키텍처 패턴과 디자인 패턴 사이에는 일대다 관계가 있다.
예를 들어 MVP 구현은 다음과 같은 방식으로 수행할 수 있다.
- Model 은 factory 및 builder 패턴을 사용하여 빌드할 수 있다.
- Presenter는 Observer 패턴과 Facade 패턴을 사용하여 구현 할 수있다.
- View는 Factory 및 Singleton을 사용하여 빌드할 수 있다.
아키텍처 패턴은 앱 아키텍처가 아니다.
아키텍처 패턴은 프로젝트/솔루션 수준에서 애플리케이션을 보다 유지 관리하기 쉽고, 느슨하게 결합하며 확장 가능하게 만드는 지침과 규칙을 제공한다.
디자인 패턴도 일부 확장되지만 모듈이나 구성 요소 수준에서는 더 많은 기능을 수행한다.
앱 아키텍처는 다른 디자인 패턴 및 인터페이스와 함께 아키텍처 패턴을 사용하여 완성된 아키텍처이다.
'learning' 카테고리의 다른 글
[IOS] 딥링크와 유니버셜 링크 (0) | 2024.11.29 |
---|---|
[청약] 민간 - 특별공급 편 (3) | 2024.08.19 |