» » Software Architecture Design Patterns in Java

Download Software Architecture Design Patterns in Java epub

by Partha Kuchana

Software engineering and computer science students need a resource that explains how to apply design patterns at the enterprise level, allowing them to design and implement systems of high stability and quality.Software Architecture Design Patterns in Java is a detailed explanation of how to apply design patterns and develop software architectures. It provides in-depth examples in Java, and guides students by detailing when, why, and how to use specific patterns. This textbook presents 42 design patterns, including 23 GoF patterns. Categories include: Basic, Creational, Collectional, Structural, Behavioral, and Concurrency, with multiple examples for each. The discussion of each pattern includes an example implemented in Java. The source code for all examples is found on a companion Web site.The author explains the content so that it is easy to understand, and each pattern discussion includes Practice Questions to aid instructors. The textbook concludes with a case study that pulls several patterns together to demonstrate how patterns are not applied in isolation, but collaborate within domains to solve complicated problems.
Download Software Architecture Design Patterns in Java epub
ISBN: 0849321425
ISBN13: 978-0849321429
Category: Technology
Subcategory: Programming
Author: Partha Kuchana
Language: English
Publisher: Auerbach Publications; 1 edition (April 22, 2004)
Pages: 416 pages
ePUB size: 1697 kb
FB2 size: 1141 kb
Rating: 4.3
Votes: 897
Other Formats: lit txt lrf lrf

I was not impressed with Software Architecture Design Patterns in Java. I've been programming professionally for about five years, and have previously read Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides ("GoF"). Currently Java is the language I am most fluent in. What I hoped to get out of this book was:

* A deeper understanding of the GoF patterns and how Java facilitates their implementation.

* Useful new patterns that reflect how the software world has changed since the GoF book was published.

* An extra bonus would have been some insight into how Java itself uses the patterns.

This book failed to deliver on all counts. The example code is all in Java but there is no discussion of how Java affects the use of the pattern. (Languages do affect pattern use; e.g. Peter Norvig has argued that most of the GoF patterns are not needed in dynamic functional languages like Lisp.)

The examples are highly contrived and pages and pages of simple beans with getters and setters obstruct following the higher level arguments. In fact, Partha Kuchana at times left me sufficiently confused that I had to refer back to the GoF to understand how a particular pattern differed from another or what a patterns purpose was.

The additional patterns presented here are not terribly useful -- often they're so obvious you wonder what alternative could possibly be used instead. A nice reminder than quantity is not the same as quality.

I would recommend reading the GoF book (which is highly regarded, still highly relevant, and for the most part approachable and understandable) instead. If you strongly prefer a Java-oriented book there are many other highly rated ones to choose from.
I purchased this book hoping to brush up on my design pattern skills for a new job I had just accepted. I purchased this book on the recommendations of other readers, but I have to say that I am pretty disappointed in the text. The book covers the 23 GoF patterns plus an additional 19 patterns.

I struggled with this text on a couple of different levels. First, some of the patterns presented aren't really patterns at all. There is a "pattern" called Accessor Methods, but this isn't anything more than good coding practices. The same could be said of Constant Data Manager (btw - I disagree with the author's solution of mashing together unrelated constants into a single location).

But my real problem with this book is the presentation of the patterns themselves. GoF presents patterns in a canonical form that is widely embraced by the pattern community. This book chooses not to present the pattern in much of a form. Instead, each pattern is given a short introduction (1 page most of the time) followed by one or more examples (8, 9 or 10 pages). There is no high-level goal (motivation) of the pattern stated. The benefits of the pattern are never identified. Nor are the drawbacks (consequences). The structure of the pattern is never clearly identified.

This book relies on the examples explaining the patterns, but I don't think that the intent behind each pattern is explained any where near well enough. This book would be good for a person that wants to see decent (but not great) implementations design patterns. I don't think this book is good for learning the concepts behind the different design patterns and gaining the understanding knowing when to use one pattern over another.

If you want to see some implementations of patterns then maybe consider this book. If you want to learn/study about patterns this isn't the right book.

For me it is back to GoF. I have heard good things about the Head Start Design Pattern book. Maybe I will check this out. But I severely doubt I will be referencing (or keeping) this book much in the future.
Don't be deceived by the five-star reviews here at Amazon for the book. I bought it encouraged by good reviews and being really interested in getting a good book on architectural patterns, but I'm very disappointed after reading the book.
Here is my summarized opinion on the book:
* No architectural patterns have been presented in this book
* Book is merely an introduction to basic patterns using Java language
* Examples are too simplistic and they do not help get the real understanding of patterns
* It is way too expensive

In my opinion, if you have any knowledge of software design patterns or you are looking for a book on architectural patterns - you will waste your money buying this book.
If you're new to design patterns, try buying another book. I'm sure you can find much better book on design patterns for less money.
Try with "Design Patterns - Elements of Reusable OO Software" by Erich Gamma et al, then "Patterns of Enterprise Application Architecture" by Martin Fowler and "Core J2EE Patterns". Maybe some will argue that the books are outdated, but surely you'll learn much, much more on patterns from any of them that from the "Software Architecture Design Patterns in Java".
I enjoyed this book when I read it cover to cover, and it is becoming my standard reference book for the basic patterns. The introduction to UML is very useful, and I highly recommend this book if you are using Java (actually, it's good for all programmers, but then so is Java :)).