처음 시작은 MVVM 패턴에 대해서 정리하려고 생각하였지만.. 자료를 찾고 하다 보니까 모르는 부분이 많이 보이네요 그래서 개념부터 시작해서 천천히 다뤄야겠다고 생각이 바뀌었습니다..ㅎㅎ (소프트웨어) 디자인 패턴에 대해 간단하게 개념 정리하고  ...

[안드로이드] 디자인 패턴(Design Pattern) 이란?

 

처음 시작은 MVVM 패턴에 대해서 정리하려고 생각하였지만..

자료를 찾고 하다 보니까 모르는 부분이 많이 보이네요

그래서 개념부터 시작해서 천천히 다뤄야겠다고 생각이 바뀌었습니다..ㅎㅎ

(소프트웨어) 디자인 패턴에 대해 간단하게 개념 정리하고 

다양한 패턴들 중에 많이 사용되거나 필요하다고 생각되는 패턴을 하나 씩 정리 하려고 합니다.

 

 



1. 소프트웨어 디자인 패턴

 위키 피디아 에서는 아래와 같이 정의 해주고 있습니다.

 

추가로 제가 이해하고 있는 내용으로 짧게 서술해보자면..

개발을 하다 보면 (자주 / 반복적으로 / 공통적으로) 문제를 해결해야 되는 경우가 생기는데,

문제를 해결하기 위해 디자인 패턴을 활용합니다.

디자인 패턴에는 오랫동안 안정성이 증명된 솔루션으로 다양한 패턴들을 가지고 있습니다.


 

 

2. 디자인 패턴을 이해하고 사용해야 되는 이유

코딩을 하는데 있어서 많은 사람들이 이해할 수 있는 코드를 지향 해야 합니다.

가령 한 프로젝트를 같이 진행하는 상황에서 자신만 이해할 수 있는 코드는 유지 보수에 어려움을 가져올 수 있습니다.

코딩을 하는데 있어서 디자인 패턴을 이해하고 적절하게 사용한다면 많은 사람들에게 설득력 있는 코드에 가까워 질 수 있을 거라고 생각합니다.




3. 디자인 패턴 종류

디자인 패턴의 종류는 아래 표와 같습니다.


(자료출처 : 위키피디아)



전부를 다루기에는 너무 힘들 것 같습니다..ㅎㅎ

(주관적으로) 필요하다고 생각되는 패턴을 정리해야 될 것 같습니다.

내용이 너무 길어질 것 같아서 아래 링크를 통해서 하나 씩 채워나가려고 합니다.



4. 생성 패턴 - Creational

♣ Singleton Pattern

♣ Builder Pattern



5. 구조 패턴 - Structural

♣ Adapter Pattern



6. 행동 패턴 - Behavioral

♣ Command Pattern



7. 아키텍처 패턴 - Architectural

♣ MVC

♣ MVP

♣ MVVM



<참고자료>

위키백과사전 - 소프트웨어 디자인 패턴

 

 

0 comments: