IT 전문가로 가는 길, EJCORT GOF의 디자인 패턴
책을 읽게 된 배경
디자인 패턴은 프로그래밍을 하는 사람에게는 필수이다.
필자도 이 책을 읽기 전에는 클래스와 함수만 분류하여 코딩했다.
하지만 이 책을 읽고서 얼마나 멍청한 짓을 했는지 알 수 있었다.
객체 지향 언어의 장점을 제대로 살리지 못하는 코드는 가히 엉망 진창이었다.
객체 지향 언어는 기본적으로 캡슐화와 정보 은닉이 철저히 이루어져야 하며, 각 각의 개체마다 독립적이고 필요에 따라 의존, 유연한 형태여야 한다.
타인과 함께 프로그래밍을 하는 경우가 많기 때문에 좋은 코드를 짜는 방법에 대해서는 알고 있어야 한다.
책의 요점
이 책은 이러한 객체 지향 언어로 프로그래밍을 하는데 있어서 가장 기본이 되는 23가지의 디자인 패턴을 담고 있다.
물론, 23가지의 패턴 중에서도 사용처가 많지 않은 패턴도 존재한다.
책에서는 각 각의 패턴마다 패턴의 소개와 장단점, 패턴의 UML 구조, 패턴을 설명하기 위한 시나리오, 예제 코드로 구성이 되어있다.
실제 프로그래밍을 할 떄에 적용하는 방식과 차이가 있는 예제는 있으나, 그 틀에서 크게 벗어나지 않으니 걱정하지 않아도 될 것이다.
기본적으로 C++ 언어를 사용하여 예제가 구성되어 있기 때문에, C++의 기본 지식을 가지고 있어야 한다.
STL을 사용할 줄만 알면 예제를 보는데 어려움은 없을 것이다.
추천 대상
자신이 프로그래머의 길을 가는 사람과 객체 지향 언어를 사용하는 사람은 이 책이 아니더라도 디자인 패턴을 꼭 공부하길 바란다.
Java 같은 경우는 일반 디자인 패턴과 다른 디자인 패턴을 사용하는 경우가 있기 때문에 따로 찾아보는 것을 추천한다.
필자도 디자인 패턴을 알고 난 후와 전의 코딩 방식이 크게 바뀌었다.
반드시는 아니지만, 어떤 작업에 대해서 특정 패턴을 사용하는 것이 좋다는 이야기도 많이 나오기 때문에 각 패턴의 특징을 알고 있어야 한다.
필자는 게임 프로그래머의 길을 걸을 것이기 때문에 『게임 디자인 패턴』을 더 공부할 것이다.
'끄적끄적 공부한 책' 카테고리의 다른 글
[C++] More Effective C++ (0) | 2019.06.20 |
---|---|
[C++] Effective C++ (0) | 2019.02.13 |
[필독서] 실용주의 프로그래머 (0) | 2018.11.22 |