Design Pattern
- 디자인 패턴은 기본적으로 소프트웨어 디자인 및 개발 중에 발생하는 일반적인 문제에 대한 재사용 가능한 솔루션으로 정의된다.
- 이는 개발자가 잘 구조화되고 유지 관리 가능하며 효율적인 코드를 작성하도록 안내하는 일반적인 템플릿 또는 모범 사례이다.
유형
- 기본적으로 소프트웨어 개발에 일반적으로 사용되는 여러 유형의 디자인 패턴이 있다. 이러한 패턴은 세 가지 주요 그룹으로 분류될 수 있다.
1. Creational(생성)
2. Structural(구조)
3. Behavioral(행위)
1. 정의

- 구조적 디자인 패턴은 클래스와 객체가 더 큰 구조를 형성하도록 구성되는 방식과 관련이 있다.
- 구조적 클래스 패턴은 상속을 사용하여 인터페이스나 구현을 구성한다.
- 예를 들어 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스를 제공하거나 객체들을 서로 묶어 새로운 기능을 제공하는 패턴이다.
- 이 패턴을 사용하면 서로 독립적으로 개발한 클래스 라이브러리를 마치 하나인 것처럼 사용할 수 있다.
- 여러 인터페이스를 합성하여 서로 다른 인터페이스들의 통일된 추상을 제공한다.
- 가장 중요한 점은 인터페이스나 구현을 복합하는 것이 아니라 객체를 합성하는 방법을 제공한다는 것이다.
2. 유형
2-1. Adapter Pattern