소프트웨어 개발 방법에서 사용되는 디자인 패턴은 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것이다. 알고리즘과 같이 프로그램 코드로 바로 변환될 수 있는 형태는 아니지만, 특정한 상황에서 구조적인 문제를 해결하는 방식을 설명해 준다.
이 용어를 소프트웨어 개발 영역에서 구체적으로 처음 제시한 곳은 GoF(Gang of Four)
라 불리는 네명의 컴퓨터 과학 연구자들이 쓴 서적 'Design Patterns: Elements of
Reusable Object-Oriented Software'(재이용 가능한 객체지향 소프트웨어의 요소 - 디
자인 패턴)이다.
여기서 정리할 대표적인 디자인패턴
Builder
Factory Method
Singleton
Adapter
Decorator
Command
Memento
Observer
Startegy
Template Method