
- Robert C. Martin |
- Micah Martin |
Title overview
With the award-winning book Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, Agile Principles, Patterns, and Practices in C#.
This book presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. The introductory chapters lay out the basics of the agile movement, while the later chapters show proven techniques in action.
Readers will come away from this book understanding
- Agile principles, and the fourteen practices of Extreme Programming
- Spiking, splitting, velocity, and planning iterations and releases
- Test-driven development, test-first design, and acceptance testing
- Refactoring with unit testing
- Pair programming
- Agile design and design smells
- The five types of UML diagrams and how to use them effectively
- Object-oriented package design and design patterns
- How to put all of it together for a real-world project
Table of contents
- Chapter 1: Agile Practices
- Chapter 2: Overview of Extreme Programming
- Chapter 3: Planning
- Chapter 4: Testing
- Chapter 5: Refactoring
- Chapter 6: A Programming Episode
- Chapter 7: What Is Agile Design?
- Chapter 8: The Single-Responsibility Principle (SRP)
- Chapter 9: The Open/Closed Principle (OCP)
- Chapter 10: The Liskov Substitution Principle (LSP)
- Chapter 11: The Dependency-Inversion Principle (DIP)
- Chapter 12: The Interface Segregation Principle (ISP)
- Chapter 13: Overview of UML for C# Programmers
- Chapter 14: Working with Diagrams
- Chapter 15: State Diagrams
- Chapter 16: Object Diagrams
- Chapter 17: Use Cases
- Chapter 18: Sequence Diagrams
- Chapter 19: Class Diagrams
- Chapter 20: Heuristics and Coffee
- Chapter 21: Command and Active Object: Versatility and Multitasking
- Chapter 22: Template Method and Strategy: Inheritance versus Delegation
- Chapter 23: Facade and Mediator
- Chapter 24: Singleton and Monostate
- Chapter 25: Null Object
- Chapter 26: The Payroll Case Study: Iteration 1
- Chapter 27: The Payroll Case Study: Implementation
- Chapter 28: Principles of Package and Component Design
- Chapter 29: Factory
- Chapter 30: The Payroll Case Study: Package Analysis
- Chapter 31: Composite
- Chapter 32: Observer: Evolving into a Pattern
- Chapter 33: Abstract Server, Adapter, and Bridge
- Chapter 34: Proxy and Gateway: Managing Third-Party APIs
- Chapter 35: Visitor
- Chapter 36: State
- Chapter 37: The Payroll Case Study: The Database
- Chapter 38: The Payroll User Interface: Model View Presenter
- Appendix A: A Satire of Two Companies
- Appendix B: What Is Software?
Author bios
Robert C. Martin has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor, Inc., a team of experienced consultants who mentor their clients in the fields of C++, Java, OO, Patterns, UML, Agile Methodologies, and Extreme Programming.
Micah Martin works with Object Mentor as a developer, consultant, and mentor on topics ranging from object-oriented principles and patterns to agile software development practices. Micah is the cocreator and lead developer of the open source FitNesse project. He is also a published author and speaks regularly at conferences.