[디자인 패턴] 디자인 패턴이란?

✨ 디자인 패턴이란?

소프트웨어 설계 및 개발에서 자주 발생하는 문제들을 해결하기 위해 검증된 코드 설계 방법입니다.

 

디자인 패턴은 특정 문제에 대해 정확히 파악하고 해당 문제를 해결하기 위한 설계 방법이나 패턴을 선택한 후 실제 설계에 적용하는 방식으로 사용할 수 있습니다.

 

문제에 맞는 디자인 패턴을 이용하여 설계했을 경우, 코드 재사용성, 가독성, 유지보수성, 확장성을 높일 수 있습니다.

디자인 패턴은 각 상황에 맞게 여러 종류가 있으며, 크게 생성 패턴, 구조 패턴, 행동 패턴으로 구분됩니다.

 

 

 

✨ 디자인 패턴의 종류

♦ 생성 패턴 (Creational Pattern)

생성 패턴은 객체 생성 로직을 캡슐화해서 코드 의존도를 낮추고 유연하게 만들기 위한 패턴입니다.

 

 

💡 생성패턴 종류

 

● 싱글턴 패턴 (Singleton Pattern)

● 팩토리 메서드 (Factory Method)

● 추상 팩토리 (Abstract Factory)

● 빌더 (Builder)

● 프로토타입 (Prototype)

 

 

♦ 구조 패턴 (Structural Pattern)

구조 패턴은 클래스 / 객체들을 결합해서 더 큰 구조로 합치는 방법을 다루는 패턴입니다.

 

 

💡  구조패턴 종류

 

● 어댑터 (Adapter)

● 데코레이터 (Decorator)

● 퍼사드 (Facade)

● 프록시 (Proxy)

● 컴포지트 패턴 (Composite Pattern)

● 브리지 (Bridge)

● 플라이웨이트 (Flyweight)

 

 

행동 패턴 (Behavioral Pattern)

행동 패턴은 객체 간의 상호 작용과 책임을 분산하는 방법을 다루는 패턴입니다. 객체 간의 효율적인 의사 소통을 가능하게 하며, 시스템의 유연성과 효율성을 향상시킵니다.

 

 

💡  생성패턴 종류

 

● 전략 패턴 (Strategy Pattern)

● 옵저버 패턴 (Observer Pattern)

● 커맨드 패턴 (Command Pattern)

● 상태 패턴 (State Pattern)

● 템플릿 메서드 (Template Method)

● 반복자 패턴 (Iterator Pattern)

● 방문자 패턴 (Visitor Pattern)

● 중재자 패턴 (Mediator Pattern)

● 책임 연쇄 패턴 (Chain Of Responsibility Pattern)

● 메멘토 패턴 (Memento Pattern)]

 

 

다음 포스팅부터는 자주 쓰이는 디자인 패턴들의 개념과 예제를 통해 하나씩 알아보겠습니다.