Design Pattern vs Architecture Pattern

pcsoyeon·2021년 11월 23일
0

디자인 패턴과 아키텍처 패턴을 혼동하여 생각할 수 있지만 두가지는 다른 개념이다.

한 줄로 말하자면, 아키텍처 패턴이 보다 큰 개념이라고 할 수 있다.
(MVC, MVVM 등이 아키텍처 패턴이라면 Singleton, Observer 등이 디자인 패턴이라고 할 수 있다.)

디자인 패턴은 컴퓨터 과학에서 설계 문제에 대한 해답을 문서화한 것이다. 프로그램 개발에서 자주 나타나는 문제에 대해서 이를 보다 효율적으로 관리하기 위해서 나타난 방법이다. (특정한 상황에서 구조적인 문제를 해결하는 방식) 그리고 각 디자인 패턴은 여러 상황에서 쓰일 수 있다.

아키텍처 패턴은 앱의 전체에 관한 것으로 앱의 전체적인 구조를 담당하는 패턴이다. 그리고 디자인 패턴은 보다 작은 모듈로 디자인 패턴이 결국 앱의 아키텍처에 반영된다. 예를 들어 하나의 앱에 대해서 싱글톤 패턴을 특정한 모듈에 사용할 수 있고 옵저버 패턴을 다른 모듈에 사용할 수 있다. 그리고 이것들이 모여서 결국 mvvm, viper 또는 mvc 패턴을 구성하는 것이다.

아키텍처는 앱의 전체적인 것을 디자인 패턴은 특정한 모듈을 다루는 것이다.

➕ 추가적으로 디자인 패턴을 쓰는 이유는 여러가지가 있지만, 개발 속도를 빠르게 할 수 있다는 장점이 있다. (특히 협업에서)

예를 들어, 새로운 개발자가 팀에 합류하게 되었을 때 코드의 모든 플로우를 이해하기 위해서는 전체 코드를 봐야 한다. 그러나 디자인 패턴을 적용한 경우, 해당 패턴에 맞게 어디서 데이터가 수정되고 어디서 이를 감지해서 어떻게 피드백을 주고 있는지를 보다 빠르게 이해할 수 있다. 반대로 새로운 프로젝트를 보게 되었을 때도 디자인 패턴에 맞게 각 모듈의 구현 방식을 이해할 수 있으면 보다 효율적으로 개발을 진행할 수 있다.

profile
Slowly But Surely

0개의 댓글