디자인 패턴
디자인패턴이란?⌗
앞선 개발자들이 만들어 놓은 공통적으로 발생하는 문제에 대한 재사용 가능한 해결책 이다.
일반적으로 디자인 패턴 이라고 한다면 Gang-Of-Four
가 쓴 디자인패턴 서적의 내용이라고 보면 된다.
“디자인패턴이란? 일반적인 문제를 해결하기 위한 문제해결책이다.”
이정도까지만 알고 있어도 문제없을듯하다.
그래서 왜 디자인 패턴을 알아야 하나?⌗
-
앞서 말한것과 같이 일반적으로 발생하는 문제 의 해결책으로 사용할 수 있기 때문에
-
다른 개발자와 소통하기 편해진다.
1번의 경우 앞에서 나온 내용이기에 생략한다.
2번의 경우, 다르게 생각하는 경우도 있겠지만
디자인 패턴으로 소통을 한다면
-
해당 패턴에 사용되는 장점, 단점 등 내포되는 내용을 포괄적으로 소통가능
-
장황하게 길어지는 설명을 단순한 단어로 처리할 수 있음
-
좀 더 프로그램의 구조에 대해 살펴볼 수 있게 됨
-
등등…
이와 같은 장점들이 있다고 알려져 있다…
좀 더 알아보자⌗
일반적으로 통용되는 디자인 패턴을 일컫는
Gang-Of-Four
의 디자인패턴에서는 여러가지 종류의 디자인 패턴을 소개하고 있다.
각각의 패턴은 여러가지 종류로 그룹화할 수 있겠지만
- 생성 패턴(Creational Pattern) 객체의 생성을 다루는 패턴
- 구조 패턴(Structural Pattern) 객체의 구성을 다루는 패턴
- 행동 패턴(Behavioral Pattern) 객체의 행동, 또는 객체 간의 상호작용을 다루는 패턴
생성 패턴(Creational Pattern) | 구조패턴(Structural Pattern) | 행동 패턴(Behavioral Pattern) |
추상 팩토리 패턴 Abstract Factory Pattern | 어댑터 패턴 Adapter Pattern | 책임 연쇄 패턴 Chain Of Responsibility |
빌더 패턴 Builder Pattern | 브릿지 패턴 Bridge Pattern | 커맨드 패턴 Command Pattern |
팩토리 메소드 패턴 Factory Method Pattern | 컴포짓 패턴 Composite Pattern | 인터프리터 패턴 Interpreter Pattern |
프로토타입 패턴 Prototype Pattern | 데코레이터 패턴 Decorator Pattern | 이터레이터 패턴 Iterator Pattern |
싱글톤 패턴 Singleton Pattern | 퍼사드 패턴 Facade Pattern | 중재자 패턴 Mediator Pattern |
플라이웨이트 패턴 Flyweight Pattern | 메멘토 패턴 Memento Pattern | |
프록시 패턴 Proxy Pattern | 옵저버 패턴 Observer Pattern | |
상태 패턴 State Pattern | ||
전략 패턴 Strategy Pattern | ||
방문자 패턴 Visitor Pattern | ||
템플릿 메소드 패턴 Template Method Pattern |
디자인 패턴이란 말그대로 패턴이기에 많은 패턴이 존재하기에… 표기되지 않은 패턴이 있을 수 있다.