Published by Pearson (August 29, 2013) © 2014
Robert MartinI. AGILE DEVELOPMENT.
1. Agile Practices.2. Overview of Extreme Programming.
3. Planning.
4. Testing.
5. Refactoring.
6. A Programming Episode.
II. AGILE DESIGN.
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.
III. THE PAYROLL CASE STUDY.
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.
IV. PACKAGING THE PAYROLL SYSTEM.
20. Principles of Package Design.21. Factory.
22. The Payroll Case Study (Part 2).
V. THE WEATHER STATION CASE STUDY.
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.
VI. THE ETS CASE STUDY.
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.
Index.