Rating:

(46 reviews)
Author: Robert C. Martin
ISBN : 0135974445
New from $54.02
Format: PDF, EPUB
Direct download links available Free Agile Software Development, Principles, Patterns, and Practices [Hardcover] for everyone book mediafire, rapishare, and mirror link
Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application—from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts — showing the errors, blind alleys, and creative insights that occur throughout the software design process. The book covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.
Direct download links available for Free Agile Software Development, Principles, Patterns, and Practices [Hardcover]
- Hardcover: 529 pages
- Publisher: Prentice Hall; 1st edition (October 25, 2002)
- Language: English
- ISBN-10: 0135974445
- ISBN-13: 978-0135974445
- Product Dimensions: 1 x 8.3 x 10.5 inches
- Shipping Weight: 2.6 pounds (View shipping rates and policies)
Free Agile Software Development, Principles, Patterns, and Practices
I don't think I've given another design/programming book 5 stars before. This book deserves it-- it could easily replace a half dozen books on my shelf, and it probably will.
Martin focuses on the why's and the wherefores of current OOD methodologies. He doesn't try to sell Agile Processes in this book. Instead, he explains a number of current practices that might be loosely grouped under the 'Agile' name. He anchors his discussion in a set of principles that drive the design process. Then he shows how software patterns can be used to put these principles into practice.
Patterns are explained and demonstrated in the context of three case studies. The case studies (a payroll system, a weather monitoring system, and an exam testing system) have the feel of day-to-day problems. One of my chief complaints with other books has been the use of esoteric case studies-- unless I work for Microsoft, I'm not likely to write a word processor anytime soon. Okay, so maybe I won't write a weather station either, but it comes a lot closer to what I will do!
The patterns discussion in this book is down-to-earth and easily understood. I have struggled over the 'Gang of Four' book ('Gamma et Al, 'Design Patterns') for well over a year. Bob Martin's book has cut through a lot of the clutter and confusion. It has been a great help to me in understanding why, where, and when to use different patters. And the explanation of UML in the book's appendices is one of the best I have seen. I can't think of a better way to learn UML than to sit down with these Appendices and Martin Fowler's 'UML Distilled'.
This is one of the two books I would recommend to an OOD newbie. The other would be 'Object Design' by Rebecca Wirfs Brock and Alan McKean. These books provide a solid grounding in object-oriented design, while requiring a very reasonable expenditure of time and effort.
By David C. Veeneman
The bulk of this book describes OO design principles. They're presented in a readable, useful, and well-organized way. Often they just clarify and put a name to something you've probably been doing anyway. The standard Dependency Inversion Principle is there, for one. (I'm glad to see that other people have trouble with the name. By today's reckoning, there's nothing inverted about it, but the name dates back to less enlightened times.) Others, like the Interface Segregation Principle, are less well known but reinforce lots of other good practices, such as data hiding and prevention of "interface leakage".
The "Agile" section is blessedly short, and doesn't much contaminate the otherwise good presentation elsewhere in the book. There's a lot of good to be extracted from the agility movement, but there's a lot of rabid dogmatism too. Martin managed to keep it well under control. He presented the Manifesto (ugh) early on, but that was the worst of it.
A few points marred the book, but only slightly, The drawings came across as "cute" - unprofessional and tangential to the topics at hand. Semi-fictional conversations in books like this always seem fatuous to me, and Ch.6 was no exception. The technical content managed to withstand this presentation anyway.
This book has lots of good ideas. It relates those ideas well to common and useful design patterns. A few aspects of the book tried to be funny, but came across as more annoying than anything else. That was only a few, though - the meaningful content of the book came through despite those flaws.
I recommend this book to any serious student or practitioner of OO design and implementation. I really mean "any," since even project-scarred veterans are likely to see some of their hard won knowledge set into clear text and into the context of other ideas.
By wiredweird
HALL OF FAME TOP 500 REVIEWER
Download Link 1