ArchitecturePattern(아키텍쳐패턴)& DesignPattern(디자인패턴)

진명재·2024년 1월 23일
2

HereWeGo!(Architecture)

목록 보기
1/3
post-thumbnail

처음 아키텍쳐라는 말을 접했을때 초보자인 나에게 굳이 그것까지 알아야 할까? 라는 의구심이 들었다. 그러나 처음 개념을 잡고 간다면, 매우 유용하다고 주변에서 들었다. 그래서 WeGoToghether의 두번째 주제인 아키텍쳐패턴 과 디자인패턴 대해 알아보려고 한다.

내용에 대해 작성하기 전에 저희 WeGoToghether 회장님이 만드신 자료를 올려두겠습니다.
송하영의 노션

  • 아키텍쳐란? 시스템을 구축했던 사람들이 만들어낸 시스템의 형태

Architecture패턴

ArchitecturePattern을 사용하는 이유

현대로 올수록 협업 하는 일이 많아 지고 있습니다. 이럴 경우 많은 개발자들과 소통하는 경우가 많습니다. 그렇기에, 우리는 아키텍쳐 패턴을 통해 구조화할 필요가 있습니다.
코드의 분리 및 조직화 , 유연성 및 확장성 , 재사용성 향상 , 테스트 용이성 , 성능최적화 등 ... 즉, 개발 프로세스를 더 효율적으로 향상 시키기 위한 존재

아키텍쳐 패턴

  • 아키텍쳐 패턴은 아키텍쳐 설계단계에서 정보를 분류하는 기준과 각 정보간의 연결 방법을 제시한다.
  • 소프트웨어의 구조를 패턴화 한 것을 의미함

한마디로!! 아키텍쳐 설계 도구라고 볼 수 있다!!

디자인 패턴

숙련된 개발자가 프로그래밍을 진행하다보면, 자주 익숙한 문제를 마주치게 된다. 다른 개발자들도 마찬가지로 그러한 경험을 한다. 그러니 모두가, 동일하게 겪는 뻔한 문제에 대한 일반적인 해결책을 정의하고 그에 명칭을 붙여 필요할 때마다 사용하는 것의 필요성을 느끼게 된다. 그런 필요에 의해 정의된 일반적인 해결책들이 바로 디자인 패턴이다.

디자인 패턴은 주로 객체지향 프로그래밍에서 사용되며, 코드의 유연성, 확장성, 재사용성을 증가시키는데 목적이 있다. 또한 앞선 개발자들이 겪었던 실패를 건너뛰어 작업 시간을 단축시켜주는 편리한 도구이다

한마디로!! 디자인 패턴은 실제 코드 작성에서 마주치는 문제들에 대한 일반적인 풀이를 제시한다.

링크텍스트
위의 원문을 의역해서 적어보았다.

아키텍쳐 패턴 VS 디자인 패턴

아키텍쳐 패턴과 디자인 패턴은 매우 가깝게 연관되어 있기에, 두개를 비교하는데 많은 혼란을 겪곤 한다. 밑에서 두가지의 유사성과 다른점에 대해 알아보자.

  • 아키텍쳐 패턴은 디자인 패턴보다 더 큰 의미를 가진다. 디자인 패턴은 구체적인 소프트웨어와 관련된 일을 제공하는 반면, 아키텍쳐 패턴은 비지니스 문제를 위한 해결책을 제공한다. 다시 말하면 아키텍쳐 패턴은 추상적인 관점에 중점을 둔다면, 디자인 패턴은 구현관점에 중점을 둔다.
  • 디자인 패턴의 구현은 낮은 수준에서 정의된 반면 , 아키텍쳐 패턴은 높은 수준에서 정의된다. 즉, 동일한 아키텍쳐 패턴이라도 프로젝트마다 많이 다를 수 있다.
  • 하나의 아키텍쳐 패턴은 많은 디자인 패턴을 사용하여 구현 될 수 있다.

아키텍쳐 패턴과 디자인 패턴의 특징

개발자에게는 아키텍쳐 패턴을 사용한 아키텍쳐 설계가 작업 능률을 향상시키고, 수정 유연성을 확보하며 완성도를 보장해준다.

디자인 패턴 사용은 개발 속도를 단축해주고 빠른 시간 내에 앞선 이들의 지혜를 습득시켜 준다. (그러나 디자인 패턴은 우리가 어떤 도메인을 가지고 어떤 문제를 풀이하고 있는지 고려해주지 않는다.)

설명을 아주 쉽게 설명해준 보노님의 블로그링크!!
보노님블로그

조금 헷갈린게 있다면 mvc,mvp,mvvm등은 디자인 패턴인줄 알았으나,
아키텍쳐 패턴 이었다는점...!!
다음 포스팅에서는 패턴의 종류에 대해 작성할게요!!

profile
하고싶은게 많은 대학생입니다 :)

0개의 댓글