본문으로 바로가기

Gof의 디자인 패턴

category Helloworld!/Design Pattern & Algorithm 2013. 9. 3. 17:06

익히 남이(그것도 실력자가) 짠 소스보고 따라하면 실력이 는다는 말을 많이 들어왔는데 그 이유가

프로그래밍을 하다보면 더 깔끔한 코딩, 더 최적화된 코딩, 소스의 재활용, 소스의 유지 관리, 상속의 응용 방법등을 고민하게 될때,

남이 짠 소스를 보면 배울 수 있다고 한다.


이 부분을 공감할 수 있게 해주는 것이 Gof의 디자인 패턴.


여기서 디자인 패턴이란 프로그램 개발에 있어서 일정한 코드 양식, 구성 방식을 의미하는데

선행된 지식을 가진 사람들이 만들고 다듬은 일정한 코딩 패턴이라고 할 수 있다.

따라서 이러한 디자인 패턴을 이용하면 코드의 재활용 가능성을 높이고 가독성, 유지보수 향상, 협업 개발 시에 개발자들간 의사소통의 효율성을 높이는데 도움을 준다.


그렇다면 여기서 Gof는 무엇일까

의문을 갖게되겠지만 참 별거 없다. 오히려 찾아보고 어이가 없었다 ㅋㅋㅋㅋ

the Gang of Four 의 약어로, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 4명의 개발자를 의미한단다.

Gang?ㅋㅋㅋㅋ 참 귀여운 아저씨 들이네ㅋㅋㅋㅋ


여튼, 이 분들이 객체지향을 기반으로한 디자인패턴을 23개로 정리하였으며 그 패턴의 이름은 다음과 같다.

우선 이름 소개만 하도록 하겠다. 각 패턴에 대한 자세한 설명은 차츰 포스팅하는걸로...

(그 전에 그냥 Gof의 디자인 패턴이라고 검색하는것 보다 다음 처럼 패턴이름을 검색하면 더 자세한 정보를 얻을 수 있으니 그때 참고하면 좋겠다)


1. Iterator

2. Adapter

3. Template Method

4. Factory Method

5. Singleton

6. Prototype

7. Builder

8. Abstract Factory

9. Bridge

10. Strategy

11. Composite

12. Decorator

13. Visitor

14. Chain of Responsibility

15. Facade

16. Mediator

17. Observer

18. Memento

19. State

20. Flyweight

21. Proxy

22. Command

23. Interpreter


+) 나도 공부하다가 찾은 GoF Design Pattern Reference Card.pdf...ㅋㅋ


GoF Design Pattern Reference Card.pdf