Agile Software Development: Principles, Patterns, and Practices (Hardcover)
內容描述
For courses in Object-Oriented Design, C++ Intermediate Programming, and
Object-Oriented Programming.
Written for software engineers “in the trenches,” this text focuses on the
technology—the principles, patterns, and process—that help software engineers
effectively manage increasingly complex operating systems and applications.
There is also a strong emphasis on the people behind the technology. This
text will prepare students for a career in software engineering and serve as an
on-going education for software engineers.
Table of Contents
I. 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.
LSP: The Liskov Substitution Principle.
DIP: The Dependency-Inversion Principle.
ISP: The Interface-Segregation Principle.
III. THE PAYROLL CASE STUDY.
- Command and Active Object.
- Template Method & Strategy: Inheritance
vs. Delegation. - Facade and Mediator.
- Singleton and Monostate.
- Null Object.
- The Payroll Case Study: Iteration One
Begins. - The Payroll Case Study: Implementation.
IV. PACKAGING THE PAYROLL SYSTEM.
- Principles of Package Design.
- Factory.
- The Payroll Case Study (Part 2).
V. THE WEATHER STATION CASE STUDY. - Composite.
- Observer—Backing into a Pattern.
- Abstract Server, Adapter, and
Bridge. - Proxy and Stairway to Heaven: Managing Third
Party APIs. - Case Study: Weather Station.
VI. THE ETS CASE STUDY. - Visitor.
- State.
- 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.
Index.