디자인 패턴을 활용하면 단지 코드만 ‘재사용’하는 것이 아니라, 더 큰 그림을 그리기 위한 디자인도 재사용할 수 있습니다. 우리가 일상적으로 접하는 문제 중 상당수는 다른 많은 이들이 접했던 문제입니다.
디자인 패턴은 프로그램을 개발하는 과정에서 빈번하게 발생하는 디자인 문제를 정리해서 상황에 따라 간편하게 적용할 수 있게 정리한 것입니다.
잘 활용할 수만 있다면 적지 않은 시간과 노력, 시행착오를 줄일 수 있습니다.
우리 앞에 놓여진 것과 비슷한 문제를 해결하려고 선배들이 시간과 노력을 투자해서 이것저것 시도해 보고, 그중에서 가장 효과적이라고 알려진 방법이 ‘패턴’이라는 이름으로 자리를 잡았기 때문입니다.
디자인 패턴은 용도에 따라 크게 3가지로 나뉩니다.
- 생성 패턴(Creational)
- 객체 인스턴스를 생성하는 패턴으로, 클라이언트와 그 클라이언트가 생성해야 하는 객체 인스턴스 사이의 연결을 끊어 주는 패턴입니다.
- 행위 패턴(Behavioral)
- 클래스와 객체들이 상호작용하는 방법과 역할을 분담하는 방법을 다루는 패턴입니다.
- 구조 패턴(Structural)
- 클래스와 객체를 더 큰 구조로 만들 수 있게 구상을 사용하는 패턴입니다.
추상 팩토리(Abstract Factory)
싱글톤(Singletion)
컴퍼지트(Composite)
데커레이터(Decorator)
어댑터(Adapter)
퍼사드(Facade)
옵저버(Observer)
스테이트(State)
스트래티지(Strategy)
템플릿 메서드(Template Method)
커맨드(Command)
한주에 한개 또는 두개씩 설명 + 예시 정리