이전

리뷰 (3)

한줄평
평점 분포
  • 리뷰 총점10 0%
  • 리뷰 총점8 67%
  • 리뷰 총점6 33%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 0.0
  • 40대 7.0
  • 50대 7.0
리뷰 총점 종이책
MVVM을 설명하기에 부족한 책
"MVVM을 설명하기에 부족한 책" 내용보기
WPF(Windows Presentation Foundation)이 처음 발표되었을 때, Microsoft Evangelist들의 단골 소재 중 하나가 개발과 디자인 작업의 분리였다. 하지만, 실제 작업을 해보니 홍보처럼 완벽하게 분리되지 않았다. 개발자들이 작업 과정은 흡사 ASP.NET Web Form이나 Windows Forms과 비슷했고 개발과 디자인 과정은 예전처럼 분리하기 힘들었다. 컨트롤에 x:Name 을 부여하고 이 이름에 기
"MVVM을 설명하기에 부족한 책" 내용보기

WPF(Windows Presentation Foundation)이 처음 발표되었을 때, Microsoft Evangelist들의 단골 소재 중 하나가 개발과 디자인 작업의 분리였다. 하지만, 실제 작업을 해보니 홍보처럼 완벽하게 분리되지 않았다. 개발자들이 작업 과정은 흡사 ASP.NET Web Form이나 Windows Forms과 비슷했고 개발과 디자인 과정은 예전처럼 분리하기 힘들었다. 컨트롤에 x:Name 을 부여하고 이 이름에 기대어 작업을 했기 때문이다. WPF는 고유한 이름으로 작업하는 방법보다는 바인딩이라는 방법으로 접근하도록 고안된 것이다. 따라서 x:Name과 같은 Element Name 기반으로 코딩을 하면 원래 지향했던 목적을 달성할 수 없다.

 

이런 목표 달성에 도움을 주는 패턴이 MVVM 패턴이다. 이 패턴을 사용하여 WPF 코딩을 해보면 이전의 방법들 보다 단순하고 명쾌하다는 느낌을 받는다. 애플리케이션의 이벤트에 반응하여 하나하나 업데이트 시켜줄 필요도 없을뿐더러 개발과 UX 디자인이 예전의 방식보다 분업이 쉽다.

 

이 책의 제목은 <MVVM 패턴을 이용한 엔터프라이즈 어플리케이션>이다. 따라서 독자들은 MVVM을 효과적으로 사용하는 방법에 대해 기대할 것이지만, 결론적으로 이 책은 MVVM 패턴만을 다룬 책이 아니다. LOB 애플리케이션 개발에 필요한 패턴 중의 하나로 MVVM을 소개하고 있을 따름이다.

 

대부분의 패턴에 익숙하지 않은 분들의 MVVM 패턴을 너무 어렵게 생각한다. 하지만, 실제로 MVVM 패턴 예제 몇 가지만 구현해 보면, 패턴의 구현 방식과 장점을 쉽게 파악할 수 있다. 물론 바인딩, 템플릿 등의 WPF의 근간이 되는 지식을 독자가 알고 있을 때에나 가능한 일이다.

 

책의 두께는 약 250 페이지 정도의 분량이다. 이 적은 분량에 다양한 LOB 개발에 필요한 지식을 담으려 노력하고 있다. LOB 애플리케이션 개요, 디자인 패턴, 도메인 모델, 데이터 접근 레이어, 비즈니스 레이어, 마지막으로 MVVM 레이어 등을 다루는데, 너무 여러 내용을 다루려니 내용이 부실해 질 수 밖에 없다. 개인적으로 디자인 패턴, 티어, 레이어 등의 개념을 잘 안다고 생각하지만, 설명만으로 각 패턴의 역할과 사용방법을 이해할 없을 정도였다. 또한 Unit of Work나 레포지토리 등을 설명할 때 사용한 예제나 플루언트(Fluent) 방식을 설명한 예제들이 적절한 선택이었는지 의심스럽다.

 

내용 중에 이해하기 힘든 부분들도 간혹 있었는데, 티어와 레이어와 차이점을 설명한 부분이 그것이다. “티어는 클라이언트 어플리케이션이고, 물리적으로 분리된 리모트 데이터베이스 그리고 UI나 프리젠테이션이 될 수 있는 클라이언트 티어를 위한 레이이이다.” 이 문장이 의미하는 바를 아직도 모르겠다. 원 저자의 다른 책은 Applied WPF 4 in context라는 서적의 서평을 보면 wired 라는 표현이 있다. 원문 자체가 이해하기 힘든 것인지 번역이 잘못된 것인지 모르겠다.

 

예제 코드 단락 중에 잘못된 설명도 발견했다. 데이터 유효성 검사에 사용한 StringLength 특성 설명에서 Max Length 부분의 사용 예제가 실제와 반대다. 최대값을 지정해 놓고 “~이상이여야 합니다.”라는 식으로 되어 있는데 오류다.

 

이 책이 지닌 가장 큰 문제는 MVVM에 대해서도 명확하게 다루고 있지 못하다는 점이다. 6장에 MVVM을 다루고 있지만, 이 내용을 보고 MVVM 패턴을 이해할 수 있을까? 이 책의 수준 랭크를 보면 초/중급 수준이다. 그렇다면 그 수준에 맞는 설명이 필요할 것 같은데 패턴의 설명이 하나의 흐름으로 흐르지 못하고 단락 된 느낌을 받았다. 설명 또한 개념을 파악하기엔 부족하다. 샘플 소스가 없으면 이 책으로 MVVM 패턴을 구현할 수 없을 것이다.

 

이 책 이전에 <Pro WPF and Silverlight MVVM>라는 책을 읽었다. 이 책도 비슷한 설명 패턴을 취하고 있다. MVVM 패턴과 MVC, MVP 등과의 차이점이나 효율적인 패턴 사용에 많은 지면을 할애하다 보니 본 내용인 MVVM이 부실해졌고 서적이 대한 평가 또한 좋지 못했다. 과연 디자인 패턴, 도메인 모델, ORM 등을 알아야 MVVM을 설명이 가능해서 그렇게 구성한 것이지 책 장수를 채울 방법이 없어서 인지 궁금할 따름이다. 예를 들어, <Data Binding with Windows Forms 2.0> 의 저자 Brian Noyes의 서문을 보면, 처음 이 주제에 대한 서적을 요청 받았을 때 당황스러웠다. 이 주제로 책을 한 권 쓸 수 있었을까 의심스러웠다. 그러나 책을 쓰려고 조사해 보니, 너무나 다뤄야 할 내용이 많았다라는 의미의 글을 읽은 적이 있다. Brian Noyes는 데이터 바인딩이란 주제로 기초 인터페이스 설명 및 활용, 응용 등을 다양한 방법들을 사용해 설명하고 있어 독자들의 반응이 좋았다.  이 책의 저자는 좀 더 깊이 생각했어야 했다. MVVM을 활용 패턴을 경우 별로 자세하게 설명했다면, 좋았을 것이라고 생각한다.  이 책을 구매하는 독자가 알고 싶은 것은 MVVM이다.

 

이 서적의 설명 패턴으로 정말 잘 쓰여진 책이 <Professional Enterprise .NET> 과 <ASP.NET Design patterns> 라는 책이다. 이 두 권은 해당 주제의 명확할 설명과 적절한 예제를 사용하여 독자의 이해를 돕고 있다.


개인적으로 WPF는 훌륭한 프레임워크라고 생각한다. 초기 진입 장벽이 높아 익히기는 어렵지만, MVVM 패턴과 WPF를 공부하면 정말 심플하고 유연하다는 것을 알게 될 것이다. MVVM 패턴의 다양한 적용을 다룬 서적이 빨리 나오길 고대한다.

 

<Jack of all trades, and master of none>이라는 평가가 가장 적절할 책인 듯싶다.



YES마니아 : 로얄 g*****i 2012.07.09. 신고 공감 4 댓글 4
리뷰 총점 종이책
[리뷰] [도서] MVVM 패턴을 이용한 엔터프라이즈 어플리케이션
"[리뷰] [도서] MVVM 패턴을 이용한 엔터프라이즈 어플리케이션" 내용보기
LOB 어플리케이션의 개발 코드를 예로 UI 패턴, 도메인 모델, ORM, 테스트 주도 프로그래밍, 하이버네이트 등등 화두가 되었던.. 화두가 되고 있는 이슈들을 골고루 담고 있다. 책제목만 봤을 때는(개인적인 생각이지만) MVVM 패턴에 대한 전문적인 내용이 담겨 있을 것 같지만 MVVM 패턴에 대해 깊이 있게 다루고 있지는 않다. 이런 부분에서 다소 실망할 수도 있겠지만 주로 윈폼 개
"[리뷰] [도서] MVVM 패턴을 이용한 엔터프라이즈 어플리케이션" 내용보기
LOB 어플리케이션의 개발 코드를 예로 UI 패턴, 도메인 모델, ORM, 테스트 주도 프로그래밍, 하이버네이트 등등 화두가 되었던.. 화두가 되고 있는 이슈들을 골고루 담고 있다.

책제목만 봤을 때는(개인적인 생각이지만) MVVM 패턴에 대한 전문적인 내용이 담겨 있을 것 같지만 MVVM 패턴에 대해 깊이 있게 다루고 있지는 않다. 이런 부분에서 다소 실망할 수도 있겠지만 주로 윈폼 개발을 하다가 지난 프로젝트에서 WPF를 접하면서 XAML이 혼란스럽기만 했었던 나에게는 만족스러운 책이었다. 패턴과 TDD ORM이나 사실 뗄 수 없는 관계이기도 하다.

도메인 모델이나 ORM등 어느 정도 기본 지식이 있는 것이 책을 이해하는데 도움이 될 것 같다. 기본 지식이 다소 부족하더라도 예제 코드를 통해 정리해 주고 있으므로 이해하기 어렵지는 않은 책이라는 생각이 든다. MVVM 개발에 대한 전반적인 주제를 담다 보니 깊이에 대한 아쉬운 부분도 있다.

정리하자면 MVVM 패턴 개발에 대한 전반적인 이야기를 담고 있다고 보면 될 것 같다.

WPF나 실버라이트를 처음 막 본 독자들이 봤을 때 괜찮은 책이라고 생각된다. 하지만 도메인 모델이나 ORM등의 기본 지식이 어느 정도 있는 것이 이해하는데 더 좋을 것 같다. 이 책을 통해 앞으로 나아가야 할 방향을 제시 받을 수 있지 않을까 하는 생각이 든다.

 

j*****2 2012.07.31. 신고 공감 2 댓글 0
리뷰 총점 종이책
MVVM 패턴을 이용한 엔터프라이즈 어플리케이션
"MVVM 패턴을 이용한 엔터프라이즈 어플리케이션" 내용보기
LOB(Line of Business) 가 기업용 애플리케이션을 말하며 대표적인 제품으로는 erp,crm,scm 을 말한다는걸 오늘 처음 안거 같다. -_-;;;   책의 제목은 MVVM 패턴을 이용한 엔터프라이즈 어플리케이션이다. [여기서 엔터프라이즈 어플리케이션은 LOB 애플리케이션을 말하는거 같다. ] 즉, LOB 애플리케이션 구축을 위한 방법에 대해서 다루고 있다.   1장에서는 MVVM 패턴에
"MVVM 패턴을 이용한 엔터프라이즈 어플리케이션" 내용보기

LOB(Line of Business) 가 기업용 애플리케이션을 말하며

대표적인 제품으로는 erp,crm,scm 을 말한다는걸

오늘 처음 안거 같다. -_-;;;

 

책의 제목은

MVVM 패턴을 이용한 엔터프라이즈 어플리케이션이다.

[여기서 엔터프라이즈 어플리케이션은 LOB 애플리케이션을 말하는거 같다. ]

즉, LOB 애플리케이션 구축을 위한 방법에 대해서 다루고 있다.

 

1장에서는 MVVM 패턴에 대해서 간략한 언급

2장에서는 대표적으로 많이 다루는 디자인패턴들과 개발방법패턴인 MVC,MVP,MVVM 에 대한 패턴설명

3장부터~5장은 LOB 애플리케이션 구축을 위한 계층별 레이어 설명

6장은 MVVM UI 레이어에 대해

7장은 MVVM 패턴을 위한 툴킷들..

 

에 대해서 다루고 있다.  

챕터에서 챕터로 넘어갈때 뒷부분에 다음 챕터에 대해서 간략한 설명이라도 있었다면 하는 아쉬움이 좀 있다. 챕터에서 챕터로 넘어갈때 해당 챕터간의 연관성이 없어 개인적으로 흐름이 좀 끊기는 경우가 있었다.

 

책에서 LOB 애플리케이션에대해서는 많이 얘기하지만 정작 LOB 애플리케이션이 무엇인지에 대한

정의는 찾아보지 못한거 같다.

LOB 애플리케이션에 대해서 간략하게 설명이 있었다면 책을 읽는데 좀더 재미가 있지 않을까 싶다

 

2장에서 우리가 많이 알고 있는 디자인 패턴에 대해서 간략한 설명과 패턴마다의 호출구문을 보여주는건 좋았던거 같다. 더불어 패턴을 한눈에 알 수 있는 삽화도 있었다면 하는 개인적인 아쉬움이 있다.

 

MVC,MVP,MVVM 패턴에 대해서 간략한 소스를 보여주는데 해당 패턴마다 소스에 각 구조에 대한 명확한 구분이 있었다면 좀더 소스를 보기 편할거 같다.

 

전체적으로 책의 내용은

역할의 분리(관심사의 분리?) 에 대해서 다루고 있다고 본다.

MVC,MVP,MVVM 이라는 것도 어차피 각각의 계층(?) 간의 좀더 결합도를 느슨하게 하여

개발 과 관리를 좀더 효율적으로 하기 위한 방법이고

 

3장의 도메인 모델이라는 것도 도메인간의 관계를 명확히 하여 각각을 분리시켜 결합도를 느슨하게 한다고 볼것이다.

 

4장의 데이터 접근 레이어에서 다루는 내용도 실제 데이타를 엑세스 하는 부분과 데이타를 사용하는 부분을 분리하는 부분에 대해서 다루고 있다.

 

사실 관심사의 분리 ..명확하게 각각을 잘 쪼개어 놓으면 좋을수도 있다.

하지만 너무 잘게 쪼개었을때 오히려 개발함에 있어 힘든 경우도 있다.

 

현재 나 같은 경우 지금 개발중인 프로젝트는

10여개의 단위로 분리가 되어있고 하나를 개발하려면 그 10여개를 다 건드리게 되는 상황이다. -_-;

 

궁극적으로 분리를 하려고 하는 것은 개발,관리를 좀더 효율적으로 하기 위한 목적인데..

너무 분리만을 바라보다간 오히려 그러한 관리가 어렵게 되는 경우도 있다.

 

책을 1번 훑어본걸로는 전체적인 흐름이 파악이 좀 안되고  헷갈리는부분이 좀 있어 좀더 찾아보고 다시 한번 보았다.

개인적으로는 이 책을 읽으면서 그동안 생각않던 부분을 좀더 찾아보고 알아보는 계기가 되어서 좋았던거 같다.

[물론 이 책의 내용이 이해가 안가서 그런 부분이 좀 많다. -_-] 

 

책을 읽기전에 디자인패턴이나 아키텍쳐, C# 문법을 알고 보면 좀더 재미있을거 같다.  

해당부분을 안다는 전제하에 간단하게 넘어가기에 모르고 보면 어려울거 같다.

 

j***o 2012.07.05. 신고 공감 0 댓글 0