디자인 패턴은 소프트웨어 개발에서 특정 문제를 해결하거나 특정 상황에 대한 해결책을 제시하는 재사용 가능한 설계 아이디어입니다. 디자인 패턴은 소프트웨어 개발자들 사이에서 널리 알려진 모범 사례이며, 코드의 유지 보수성, 가독성 및 재사용성을 향상시키는 데 도움이 됩니다.
일반적으로 다음과 같은 주요 디자인 패턴 카테고리가 있습니다.
MAD의 Backend 에는 Java Service Tree Framework 를 사용하고 있으며,
MAD의 Engine 구조 역시 특정한 디자인 패턴을 사용하고 있습니다.
하기 디자인 패턴에 대해서 알아보고 어떤 패턴을 적용하였는지
다음 포스트에서 하나씩 설명하고 적용예시를 코드를 통해 전달해 드리겠습니다.
- 생성(Creational) 패턴:
- 추상 팩토리(Abstract Factory) 패턴
- 빌더(Builder) 패턴
- 팩토리 메서드(Factory Method) 패턴
- 프로토타입(Prototype) 패턴
- 싱글턴(Singleton) 패턴
- 구조(Structural) 패턴:
- 어댑터(Adapter) 패턴
- 브릿지(Bridge) 패턴
- 컴퍼지트(Composite) 패턴
- 데코레이터(Decorator) 패턴
- 퍼사드(Facade) 패턴
- 플라이웨이트(Flyweight) 패턴
- 프록시(Proxy) 패턴
- 행위(Behavioral) 패턴:
- 책임 연쇄(Chain of Responsibility) 패턴
- 커맨드(Command) 패턴
- 인터프리터(Interpreter) 패턴
- 이터레이터(Iterator) 패턴
- 미디에이터(Mediator) 패턴
- 메멘토(Memento) 패턴
- 옵서버(Observer) 패턴
- 상태(State) 패턴
- 전략(Strategy) 패턴
- 템플릿 메서드(Template Method) 패턴
- 비지터(Visitor) 패턴
이러한 디자인 패턴들은 다양한 상황에서 사용될 수 있으며, 개발자가 특정 문제를 해결하기 위해 적합한 패턴을 선택하는 데 도움을 줍니다. 각 패턴은 고유한 목적과 사용 사례를 가지고 있으므로 상황과 요구 사항에 맞게 적절한 패턴을 선택하는 것이 중요합니다.