디자인 패턴(Design Patterns)은 소프트웨어 개발에서 자주 반복되는 문제들을 해결하기 위해 만들어진 재사용 가능한 코드 설계 방법입니다. 즉, 소프트웨어 설계 시 발생할 수 있는 문제를 효율적으로 해결하기 위한 설계의 모범 사례라고 할 수 있습니다.
장점
- 개발자간의 원활한 소통
- 소프트웨어 구조 파악이 용이
- 재사용을 통한 개발 시간 단축
- 설계 변경 요청에 대한 유연한 대처
단점
- 객체지향 설계에 대한 깊은 이해도가 필요
- 간단한 문제에 대해 디자인 패턴을 적용하는 것이 오히려 더 복잡하고 비효율적일 수 있습니다.
- 모든 문제에 대해 디자인 패턴을 적용하는 것은 적절하지 않습니다.
디자인 패턴은 크게 생성(Creational), 구조(Structural), 행동(Behavioral)으로 구분할 수 있습니다.
생성 패턴
생성 패턴(Creational Pattern) : 객체 생성에 관련된 패턴으로, 객체가 생성되는 방식을 기본적인 형태에서 분리하여 코드의 유연성을 높입니다
Factory Method, Abstract Factory, Builder, Prototype, Singleton
구조 패턴
구조 패턴(Structural Pattern) : 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴입니다. 서로 다른 인터페이스를 가진 두 개의 객체를 함께 사용하거나, 객체들을 서로 묶어 새로운 기능을 제공하는 등의 역할을 합니다.
Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
행동 패턴
행동 패턴(Behavioral Pattern) : 객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴입니다. 즉, 객체의 행동 패턴에 초점을 맞춥니다. Strategy, Template Method, Visitor, Iterator, Observer
'Spring boot > 개념 공부' 카테고리의 다른 글
팩토리 패턴 (0) | 2024.09.27 |
---|---|
빌더 패턴이란? (0) | 2024.09.27 |
싱글 톤 패턴 (2) | 2024.09.27 |
콜백 메서드 만들어 보기 (1) (0) | 2024.09.27 |
S.O.L.I.D 원칙 (1) | 2024.09.27 |