소프트웨어 디자인 패턴이란

확인중·2023년 3월 16일
0

디자인 패턴의 정의

정의 1

프로그램을 설계 할 때 발생했던 문제점을 객체 간의 상호 관게 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것을 의미

정의 2

소프트웨어의 스프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다.
소스나 기계 코드로 바로 전환될수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 쓰이는 서술이나 템플릿이다. 디자인 패턴은 프로그래머가 어클리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는데에 쓰이는 형식화 된 가장 좋은 관행이다.

정의 3

디자인 패턴을 활용하면 단지 코드만 재사용하는 것이 아니라, 더 큰 그림을 그리기 위한 디자인도 재사용할 수 있다.
디자인 패턴은 프로그램을 개발하는 과정에서 빈번하게 발생하는 디자인 문제를 정리해서 상황에 따라 간편하게 적용할 수 있게 정리한 것
잘 활용 할 수 있다면 적지 않은 시간과 노력, 시행착오를 줄일 수 있다.

정의 4

객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴
일반 프로그래머가 만나는 문제가 지구상에 유일한 문제일 확률은 거의 없다. 이미 수 많은 사람들이 부딪힌 문제다. 따라서 전문가들이 기존에 해결책을 다 마련해 놓았다.

디자인 패턴의 역사

논문 "Using Pattern Languages for Object-Oriented Programs" (1987)을 통해 제안되었다. 이후 큰 유명세를 타게 된 것은 23개의 패턴을 수록한 'GoF' (1995)이다. 현재에는 수천여개의 패턴이 발표되어 있다.

GOF(Gang of Four)

《디자인 패턴》(Design Patterns, ISBN 0-201-63361-2)은 소프트웨어 설계에 있어 공통된 문제들에 대한 표준적인 해법과 작명법을 제안한 책이다. 이 분야의 사인방(Gang of Four, 줄여 GoF)으로 불리는 에리히 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)가 같이 썼고, 한국어 판은 김정아의 번역으로 피어슨 에듀케이션 코리아를 통해 출판되었다.

책의 첫 번째 반절은 다양한 디자인 패턴의 정의에 할애하고 있고, 나머지 반절은 실제적으로 유용한 디자인 패턴들을 나열하고 있다. 책의 예제들은 객체지향적인 언어인 C++과 스몰토크로 제시되고 있다. 다음은 책에서 언급되고 있는 패턴의 리스트이다.

profile
망치질과 담금질 중인 App , Web 개발자 입니다.

0개의 댓글