Always Learning

Advanced Search

Agile Software Development, Principles, Patterns, and Practices

Agile Software Development, Principles, Patterns, and Practices

Robert Martin

Nov 2002, Hardback, 529 pages
ISBN: 9780135974445
For orders to USA, Canada, Australia, New Zealand or Japan visit your local Pearson website
This product has been replaced by Agile Software Development, Principles, Patterns, and Practices: Pearson New International Edition
Be the first to review this product >

This title cannot be purchased online
  • Print pagePrint page
  • Email this pageEmail page
  • Share

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.


1. Agile Practices.
2. Overview of Extreme Programming.
3. Planning.
4. Testing.
5. Refactoring.
6. A Programming Episode.


7. What Is Agile Design?
8. SRP: The Single-Responsibility Principle.
9. OCP: The Open-Closed Principle.
10. LSP: The Liskov Substitution Principle.
11. DIP: The Dependency-Inversion Principle.
12. ISP: The Interface-Segregation Principle.


13. Command and Active Object.
14. Template Method & Strategy: Inheritance vs. Delegation.
15. Facade and Mediator.
16. Singleton and Monostate.
17. Null Object.
18. The Payroll Case Study: Iteration One Begins.
19. The Payroll Case Study: Implementation.


20. Principles of Package Design.
21. Factory.
22. The Payroll Case Study (Part 2).


23. Composite.
24. Observer—Backing into a Pattern.
25. Abstract Server, Adapter, and Bridge.
26. Proxy and Stairway to Heaven: Managing Third Party APIs.
27. Case Study: Weather Station.


28. Visitor.
29. State.
30. The ETS Framework.
Appendix A. UML Notation I: The CGI Example.
Appendix B. UML Notation II: The Statmux.
Appendix C. A Satire of Two Companies.
Appendix D. The Source Code Is the Design.

Comprehensive, pragmatic tutorial on Agile Development

and eXtreme programming written by one of the founding

father of Agile Development.

Teaches software developers how to get projects done on

time, and on budget using the power of Agile Development.

Uses real-world case studies to show how to of plan, test,

refactor, and pair program using eXtreme programming.

Focuses on solving customer oriented systems problems

using UML and Design Patterns

ROBERT C. MARTIN is President of Object Mentor Inc. Martin and his team of software consultants use Object-Oriented Design, Patterns, UML, Agile Methodologies, and eXtreme Programming with worldwide clients. He is the author of the best-selling book Designing Object-Oriented C++ Applications Using the Booch Method (Prentice Hall, 1995), Chief Editor of, Pattern Languages of Program Design 3 (Addison Wesley, 1997), Editor of, More C++ Gems (Cambridge, 1999), and co-author of XP in Practice, with James Newkirk (Addison-Wesley, 2001). He was Editor in Chief of the C++ Report from 1996 to 1999. He is a featured speaker at international conferences and trade shows.

Your opinions count

Be the first to review this product. Write your review now.