다시 기술서적으로 눈을 돌려본다.
이미 충분히 알고 있다고 생각하는 부분부터 다시 짚어보는 의미에서 찬찬히 서적을 고르던중
"클래스 구조의 이해와 설계"에 손을 데게 된다.
 
책 겉표지를 찬찬히 살펴보니 책이 나에게 물어본다.
"프로그래머가 가장 많이 만지작거리는 클레스 제대로 만들고 있습니까?"
"음.. 글쎄 ^^"
 
개인적으로 개발에 임하였을때
얼마나 많은 소스코드를 만들어 내며 얼마나 많은 소스코드를 지워댔는지..
또 얼마나 많은 중복된 역할을 하는 클래스들을 아무런 꺼리낌 없이 만들었던지..
프로젝트가 늘어날때마다,  개발의 경험이 늘어날때마다 기교와 효과는 조금씩 자라지만
결코 완벽한 프로그램개발을 했다고는 말 할 수는 없다.
 
그래서 서평자는 가끔 선진 구조기법들을 보려고 openSource코드의 package의 구조를 tray 해본다.
그때마다 느끼는 좌절감은 상속의 관계와 오버로딩이나 오버라이딩, super, this 같이 충분히
고민하고 만들어낸 부분에서 쉽사리 끈을 잃어버리기 때문이다.
물론 하는 역할이나 구조를 모르는 건 아니지만 전체 프로그램에서 이런것들을 맞딱드리면
주춤해지는건 사실이다.
 
2%.. 뭔가 2%로 부족함이 느껴진다... (결코 여러분도 예외가 아닐꺼라 생각합니다.^^)
 
책은 클래스의 구조를 차근차근 설명해 주고 있다.
처음에는 명사분석법을 통한 객체 정의 지만 나중에 가면 그 객체들간에 연관관계와 포함관계를
이야기해 주고있다.
이야기 흐름에 이용되는 주된 도구는 UML이고 필자는 UML을 단순 표기법! 으로 간주하며
초급 개발자들에게도 쉬운 UML로 접근하는 배려도 잊지 않았다.
하지만 페이지 한장 한장 뒤로 넘길때마다 깊이가 깊어져가기에 UML을 잘 아는 분이 보더라도 좋을것 같다.
 
책은 클래스 구조뿐만 아니라 추가적인 정보들을 제공해 주고 있다.
1. class Diagram을 생성하는 방법
2. class Diagram에 엮여 있는 각종 화살표(?)들의 특징과 사용관계 (집합관계, 포함관계, 연관관계 , 의존관계 ..)
3. Sequence Diagram을 생성하는 방법
4. 하나의 UML을 가지고 java와 C++간의 표현방법
5. java와 C++ 에서 발생하는 언어적 차이도 발견하게 해준다.
 
책의 내용은 모두 열거할 수는 없지만 정말 개발자에게는 계륵조차 없는 통통하게 살오른 치킨이 아닐 수 없다.
java개발자라면 C++개발자라면 한번즘 봤으면 하는 권장한다.
 
서평의 끝에 왔다.
본 책에서 내가 갈등했었던것을 시원스래 정의한것이 있어 한구절 이야기 한다.
 
-- 유/도/속/성/ --
>> 책 98p : 유도속성은 값이 항상 다른 속성으로 부터 계산은 될 수 있지만 매번 유도속성의 값을 필요할때마다 계삭하는것은 비 효율적일 수 있다.
>> 유도속성을 정의하고 안하고는 개발자 몫이다.  이것을 한다고 서비스에 크게 티나지 않을 수 도 있다.
     하지만 개발이 가져다주는 갈등이기에 책을 느끼는 한 구절로 삼아본다.

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!