로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
서평보기
ASP.Net 3.5 Application Architecture and Design
Vivek Thakur | Packt Publishing | 원서 | 2008-10-01
종합평점
도서수준
오랜만에 사람 미치게 한 책 2010-02-10 오후 11:16:41 
평점
도서수준
조회수 (1341)
공감 (0)
강영수 님의 블로그

아마존에서 검색하다가 책 주제가 괜찮은 것 같아, 출판사 웹사이트에서 PDF로 구매했다. 책장을 넘길수록 제대로 된 책을 산 건지 의심이 들기 시작했다. 책 도입부에서는 제대로 이해하고 아키텍처를 써야한다. 이책을 다 읽고 나면 많은 도움이 될 것이다. 아주 희망적인 말로 시작했으나, 바로 티어(Tier)와 레이어(Layer) 설명부터 사람을 미치게 한다. 티어는 물리적 계층, 레이어는 논리적 계층을 나누는 용어라는 것 정도는 알고 있다. 그런데  저자는 티어를 어셈블리(Assembly) 단위로 산정한다!!.. 그럼 통념적으로 2-티어 Client/Server 애플리케이션도 닷넷에서는 3-티어 이상이 될 수 있다. MVP나 되는 사람이니 평자보단 심도깊은 정보와 개념에 대한 이해가 있을거라 생각하고 저자의 관점에 맞춰 책을 계속 읽기로 했다. 

그런데 뒤로 갈수록 문제점들이 하나 둘씩 보이기 시작한다. 클래스 다이어그램에서 관계를 표시할 때, 연결 방향을 반대로 표시하고, 부분 클래스들의 관계를 설명한 부분과 이들을 합친 전체 클래스 다이어그램이 다르다. 관계표시, 관계방향 등등..

N-티어로 자신만만하게 설계한 코드 자체도 별로 좋지도 않다. 순환참조 걱정에 DTO를 도입해서 아키텍처의 복잡도를 높인다. 이럴 때, DI(Dependency Injection) 패턴을 써주면 구조도 단순해 지고 좋을 것 같은데 말이다. 또한 정적 메소드로 적절한 것을 인스턴스 메소드로 설계한다든가, 비즈니스 로직에서 개체가 주요키 속성을 가지고 있는데 인스턴스 메소드에서 주요키를 매개변수로 받는 식의 코드를 만들어 놨다. 할 말이 없다. 저자나 리뷰어들이 꼼꼼히 살펴보지 않은 느낌이 든다.

디자인 패턴를 설명하는 장(Chapter)에서는 싱글톤(Single) 패턴 구현부에 Lazy Loading 패턴을 설명하면서 lock을 설정하는 코드가 있는데, 설정 위치도 조금 이상하다. 내가 알기론 널(null) 체크 부분도 lock 설정에 포함되어야 하는데, 널(null) 체크 안에다 걸어 놨다. Double Checked Locking을 설명해 놨으면 좋았을 것을... 어째든 저자의 싱글톤의 락(lock)의 위치는 문제가 될 수 있다.

팩토리 패턴과 DI(Dependency Injection)를 설명한다면서 팩토리 패턴에 대한 구현 설명은 있는데,  DI에 대한 설명은 도입부를 제외하고는 찾아보기 힘들다. 저자가 이야기하는 DI가Activitor.CreateInstance(...)은 아니겠지?
 

각 주제를 개요 수준으로 다루고 있고 큰 그림을 그리기에도 짜임새가 부족한 느낌이다. 이정도로 어떤 아키텍처를 만들라는 건지 알 수가 없다. 이해하기 어려운 아키텍처 설명, 단편적인 기술에 대한 소개 및 구현, 디자인 패턴 개요 등으로 넓고 깊게 봐야하는 아키텍처 설계를 커버하기에는 무리리가 있다.
 

오래간만에 사람을 미치게 하는 책을 만났다.



 
코멘트 0   공감 0
코멘트작성
 
이메일주소수집거부