728x90
디자인 패턴이란
디자인 패턴은 소프트웨어 디자인에서 일상적으로 발생하는 문제에 대한 일반적인 해결책을 말한다.
기존에 존재하는 함수나 라이브러리들로 패턴을 찾아서 프로그램에 복사한다고 하여 패턴이 되는 것은 아니다.
패턴은 특정 코드 족각이 아닌, 특정 문제를 해결하는 일반적인 개념이다. 패턴 세부 사항을 따라 자신의 프로그램에 맞는 솔루션을 구현할 수 있다.
디자인 패턴의 목적
SW의 재사용성과 호환성 그리고 유지 보수성을 보장하기 위함이다.
패턴의 구성
대부분의 패턴들은 사람들이 많은 맥락에서 재현할 수 있도록 형식적으로 설명된다.
- 패턴의 의도(Intent)는 문제와 해결책을 간략하게 설명한다.
- 동기(Motivation)는 패턴의 가능성과 문제를 더 설명한다.
- 클래스의 구조(Structure)는 패턴의 각 부분과 그들이 어떻게 연관되어 있는지를 보여준다.
- 널리 사용되는 프로그래밍 언어로 작성된 디자인 패턴 코드 예제(Code example)는 패턴 뒤에 있는 아이디어를 쉽게 파악할 수 있도록 해준다.
왜 패턴을 배워야 하는가?
- 디자인 패턴은 소프트웨어 설계의 일반적인 문제에 대해 시도되고 테스트된 솔루션의 툴킷이다. 이런 문제를 접하지 않더라도, 패턴을 아는 것은 객체지향적 디자인의 원리를 이용해 온갖 문제를 푸는 방법을 가르쳐주기 때문에 유용하다.
- 디자인 패턴은 사용자와 티원들이 보다 효율적을 의사소통하기 위해 사용할 수 있는 공통 언어를 정의한다. 누군가가 "옵저버 패턴을 사용하자" 라고 말을 하였을 때, 디자인 패턴을 아는 사람들은 옵저버 패턴이 무엇인지 설명하지 않고 그 사람 말 뒤에 있는 아이디어를 이해할 것이다.
참고
728x90
'Computer Science > DesignPattern' 카테고리의 다른 글
[DesignPattern] SOLID 원칙이란 (0) | 2023.04.02 |
---|---|
[DesignPattern] 객체지향 프로그래밍이란 (0) | 2023.03.07 |