ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [아키텍쳐 패턴] - 디자인패턴과 S/W 아키텍쳐
    iOS/아키텍쳐 패턴 2022. 9. 8. 04:59
    728x90
    반응형

    오늘은 앱개발자인 동시에 회사 업무를 진행할 사람에게 필수인 개념인 디자인 패턴과 소프트웨어 아키텍쳐에 대해서 알아보겠다.

     

    S/W아키텍쳐(Software Architecture)

     

     소프트웨어의 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙

     

    정의는 이렇다. 우리가 알아야할 부분은 소프트웨어를 구성하는 구성요소(모듈 / 컴포넌트 등) 간의 관계를 관리하는 시스템의 구조이자 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙으로 알고 있으면 된다.  

     

    디자인 패턴 (Design Pattern)

     

    설계 문제에 대한 해답을 문서화하기 위해 고안된 형식 방법

     

    말그대로 소스코드나 사용에 필요한 리소스를 어떤방식으로 만들고 사용할 것인지 정해져 있는 양식이다. 프로그램을 작성하는데 있어서 기능별 모델별로 파일을 모듈화 시키는것이 중요한데, 그것을 관리하는 방법이라고 생각하자. 소스/리소스의 구조적인 부분에서 생기는 문제를 해결하도록 탄생한 방법론이다.

     

    이렇게만 보면 두 개념이 같은 개념 같다. 확실한 개념을 알기 위해서 두 개념에 공통점과 차이점을 먼저 알아보자.

     

    공통점

     

    • 스파게티 소스를 방지
    • 업무 분담 최적화

    엄밀히 말하면 프로그램을 보기좋게 효율적으로 작성하는 방법이라고 봐도 무방하다. 우리가 사용자에게 보여지는 것도 중요하지만 그 코드의 짜임새에 따라 다시 재활용하거나 다른 프로젝트에 대입시킬 수 있고, 팀 프로젝트에 경우 분기별로 요지보수하기도 용이하다.

     

    차이점

     

    • S/W 아키텍쳐: 프로그램 내에서 큰 구조로 구성되어 다른 구성 요소들을 관리하는 역할
      • EX) MVC, MVP, MVVM 패턴 등
    • 디자인 패턴 : 특정 유형의 문제를 해결하는 방법
      • EX) 싱글톤, 옵저버, 프록시, 전략, 어댑터 패턴 등
    • 디자인 패턴이 조금 좁은 개념에 포함이 됨

    디자인 패턴은 적용되는 사례가 특정적인 특징이 있고 전체적인 구조로 봤을때 그 구성원들을 관리하는 것이 소프트웨어 아키텍쳐이기 때문에 범위의 차이로 구분지을 수 있다. 

     

     

    하지만 보통 MVC,MVP.MVVM 같은 SW아키텍쳐들은 디자인패턴이라고 부르는 경우가 많은데 정확한 차이는 숙지하면서 편하게 부르며 사용해야 할것 같다.

    'iOS > 아키텍쳐 패턴' 카테고리의 다른 글

    [아키텍쳐 패턴] - MVC 패턴  (2) 2022.09.19
Designed by Tistory.