| 객체지향, UML, 디자인 패턴. 제대로 쓴 책들을 보면 각각 한권씩은 차지하는 방대한 분량이다. 아마도 저자의 의도는 디자인 패턴을 설명하기 위해 객체 지향의 개념을 먼저 알려주려고 했던 것 같고, 표기법을 설명하기 위해 UML을 소개한 것 같고, 궁극적으로 GoF의 디자인 패턴을 C#으로 설명하려 한 것 같다. 저자의 이러한 시도는 높이 평가하지만 패턴은 여전히 약하다. 오히려 객체지향의 개념에 압도적인 지면을 할애하고 있다. C#에 대한 소개는 없는게 나았다는 생각이 든다. 설마 C# 문법도 모르는 사람이 이 책을 선택했으리라고는 도저히 생각되지 않기 때문이다. UML은 적당했지만 이 역시 이미 UML을 알고 있는 사람들이 정리하는 수준에서 괜찮다는 것이다. 디자인 패턴은 정말 간단히 소개하는 수준인데, 이렇게 단편적인 각각의 예보다는 하나의 시스템을 패턴을 이용하여 효과적으로 설계하는 사례를 제시하는 것이 낫지 않았을까라는 생각이 든다. 한마디로 이 책은 어느 정도 아는 사람이 보기엔 너무 쉽고, 모르는 사람이 보기엔 조금 부족하고...글은 매끄럽게 잘 썼지만 아쉬움은 여전히 남는법이다(이 책을 처음부터 끝까지 읽는데 정확히 하루 밤이 걸렸다.--). |
| 디자인 패턴까지는 보지 못했습니다. 객체지향 언어(C#)에 대하여 잘 설명하고 있습니다. 기존에 나와있는 책은 객체 지향이 어떻고 그래서 이렇다 하면서 예제와 함께 어떻게 사용한다가 고작이었던 것에 반해 이 책은 왜 상속이란게 생겨났으며 인터페이스는 왜 생겨났고 발생할 수 있는 문제점은 무엇이 있는가를 설명하고 있습니다. 기존에 C# 언어는 이미 공부한 상태였으며 디자인 패턴을 볼려고 산 책이었는데 더 C# 언어에 대하여 다시 한번 생각하게 만드는 책인것 같습니다. 2장부터 6장까지의 설명이 압권이라해도 과언이 아니라고 생각합니다. 어느책에서나 나오는 Hello World 프로그램으로 시작해서 타입, 변수, 연산자, 제어문, 클래스 등의 언어적 측면을 살펴본 후 객체 지향에 대해서 설명하고 있습니다. Part 2 객체지향과 C#에서는 객체지향이 무엇인가라는 것을 확실하게 깨닫게 해 주는 부분입니다. 가장 중요한 개념인 상속, 다형성, 인터페이스에 대해서 상속이 왜 필요한가, 인터페이스는 왜 필요한가의 이유를 설명하면서 자연스럽게 이끌어 나가고 있습니다. 객체지향의 개념을 잡고자 한다면 주저없이 한표 던질 수 있을 만한 책입니다. |