Published by Pearson (July 20, 2006) © 2006
Micah Martin | Robert MartinWith 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. The book includes many source code examples that are also available for download from the authors’ Web site.
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
Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, Agile Principles, Patterns, and Practices in C# is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.
- 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?