디자인 패턴의 역사
디자인 패턴이라는 개념은 1966년 초 크리스토퍼 알렉산더에 의해 건축 분야에서 처음 도입되었다.
크리스토퍼 알렉산더는 반복해서 발생하는 문제와 그 문제 해결에 대한 핵심을 기술하고 싶어했다.
심지어는 비슷한 형태의 다른 문제에 있어서도 그 문제의 해결 방법에 대한 핵심내용이 재사용될 수 있도록 문서화하기를 원했다.
그렇게 해서 나오게 된 개념이 바로 "디자인 패턴" 이다.
그리고 1987년, 켄트 벡과 워드 커닝햄은 건축학에서 사용하던 디자인 패턴의 개념을 소프트웨어 공학에 적용하는 아이디어를 OOPSLA 컨퍼런스에서 발표하였다.
그리고 1994년 "Gang of Four" 에 의해 씌여진 Design Patterns: Elements of Reusable Object-Oriented Software 라는 책이 출간되면서 컴퓨터 공학분야에서 디자인 패턴이 인기를 끌기 시작했다.
소프트웨어 디자인 패턴이란?
소프트웨어 개발 방법으로 사용되는 디자인패턴(Design Pattern)은
과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여
그 방법에 이름을 붙여서 이후에 재사용하기 좋은 형태로 특정 규약을 만들어서 정리한 것입니다.
디자인 패턴은 소프트웨어 설계에 있어 공통적인 문제들에 대한 표준적인 해법과 작명법을 제안하며,
알고리즘과 같이 프로그램 코드로 바로 변환될 수 있는 형태는 아니지만,
특정한 상황에서 구조적인 문제를 해결하는 방식입니다.
즉 "효율적인 코드를 만들기 위한 방법론"이라고 생각하시면 됩니다.
디자인 패턴(Design Pattern)은 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다.
사용 이유
디자인 패턴을 참고하여 개발할 경우 개발의 효율성과 유지보수성, 운용성이 높아지며 프로그램의 최적화에 도움이 된다.
개발자
디자인 패턴은 GoF(Gang of Four)에 의해 고안된 것으로 보는 것이 일반적이다.
GoF는 에릭 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리스데스(John Vlissides)에 의해 고안된 것으로 알려져 있다.
디자인 패턴의 유형
'전공 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어 공학] 소프트웨어 테스트 (0) | 2022.06.19 |
---|---|
[소프트웨어 공학] 행위 패턴(Behavioral Patterns) (0) | 2022.06.19 |
[소프트웨어 공학] 구조 패턴(Structural Patterns) (0) | 2022.06.19 |
[소프트웨어 공학] 생성(Creational) 패턴 (0) | 2022.06.19 |
[소프트웨어 공학] GoF 디자인패턴의 분류 (0) | 2022.06.19 |