Agile principles, patterns, and practices in C
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...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
[Place of publication not identified]
Prentice Hall
2007
|
Edición: | 1st edition |
Colección: | Robert C. Martin series Agile principles, patterns, and practices in C#
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009626921706719 |
Tabla de Contenidos:
- Cover
- Contents
- Forewords
- Preface
- Acknowledgments
- About the Authors
- Section I: Agile Development
- Chapter 1: Agile Practices
- The Agile Alliance
- Principles
- Conclusion
- Bibliography
- Chapter 2: Overview of Extreme Programming
- The Practices of Extreme Programming
- Conclusion
- Bibliography
- Chapter 3: Planning
- Initial Exploration
- Release Planning
- Iteration Planning
- Defining "Done"
- Task Planning
- Iterating
- Tracking
- Conclusion
- Bibliography
- Chapter 4: Testing
- Test-Driven Development
- Acceptance Tests
- Serendipitous Architecture
- Conclusion
- Bibliography
- Chapter 5: Refactoring
- A Simple Example Of Refactoring: Generating Primes
- Conclusion
- Bibliography
- Chapter 6: A Programming Episode
- The Bowling Game
- Conclusion
- Overview of the Rules of Bowling
- Section II: Agile Design
- Chapter 7: What Is Agile Design?
- Design Smells
- Why Software Rots
- The Copy Program
- Conclusion
- Bibliography
- Chapter 8: The Single-Responsibility Principle (SRP)
- Defining a Responsibility
- Separating Coupled Responsibilities
- Persistence
- Conclusion
- Bibliography
- Chapter 9: The Open/Closed Principle (OCP)
- Description of OCP
- The Shape Application
- Conclusion
- Bibliography
- Chapter 10: The Liskov Substitution Principle (LSP)
- Violations of LSP
- Factoring Instead of Deriving
- Heuristics and Conventions
- Conclusion
- Bibliography
- Chapter 11: The Dependency-Inversion Principle (DIP)
- Layering
- A Simple DIP Example
- The Furnace Example
- Conclusion
- Bibliography
- Chapter 12: The Interface Segregation Principle (ISP)
- Interface Pollution
- Separate Clients Mean Separate Interfaces
- Class Interfaces versus Object Interfaces
- The ATM User Interface Example
- Conclusion
- Bibliography.
- Chapter 13: Overview of UML for C# Programmers
- Class Diagrams
- Object Diagrams
- Collaboration Diagrams
- State Diagrams
- Conclusion
- Bibliography
- Chapter 14: Working with Diagrams
- Why Model?
- Making Effective Use of UML
- Iterative Refinement
- When and How to Draw Diagrams
- Conclusion
- Chapter 15: State Diagrams
- The Basics
- Using FSM Diagrams
- Conclusion
- Chapter 16: Object Diagrams
- A Snapshot in Time
- Active Objects
- Conclusion
- Chapter 17: Use Cases
- Writing Use Cases
- Diagramming Use Cases
- Conclusion
- Bibliography
- Chapter 18: Sequence Diagrams
- The Basics
- Advanced Concepts
- Conclusion
- Chapter 19: Class Diagrams
- The Basics
- An Example Class Diagram
- The Details
- Conclusion
- Bibliography
- Chapter 20: Heuristics and Coffee
- The Mark IV Special Coffee Maker
- OOverkill
- Bibliography
- Section III: The Payroll Case Study
- Rudimentary Specification of the Payroll System
- Exercise
- Use Case 1: Add New Employee
- Use Case 2: Deleting an Employee
- Use Case 3: Post a Time Card
- Use Case 4: Posting a Sales Receipt
- Use Case 5: Posting a Union Service Charge
- Use Case 6: Changing Employee Details
- Use Case 7: Run the Payroll for Today
- Chapter 21: Command and Active Object: Versatility and Multitasking
- Simple Commands
- Transactions
- Undo Method
- Active Object
- Conclusion
- Bibliography
- Chapter 22: Template Method and Strategy: Inheritance versus Delegation
- Template Method
- Strategy
- Conclusion
- Bibliography
- Chapter 23: Facade and Mediator
- Facade
- Mediator
- Conclusion
- Bibliography
- Chapter 24: Singleton and Monostate
- Singleton
- Monostate
- Conclusion
- Bibliography
- Chapter 25: Null Object
- Description
- Conclusion
- Bibliography
- Chapter 26: The Payroll Case Study: Iteration 1.
- Rudimentary Specification
- Analysis by Use Cases
- Reflection: Finding the Underlying Abstractions
- Conclusion
- Bibliography
- Chapter 27: The Payroll Case Study: Implementation
- Transactions
- Main Program
- The Database
- Conclusion
- About This Chapter
- Bibliography
- Section IV: Packaging the Payroll System
- Chapter 28: Principles of Package and Component Design
- Packages and Components
- Principles of Component Cohesion: Granularity
- Principles of Component Coupling: Stability
- Conclusion
- Chapter 29: Factory
- A Dependency Problem
- Static versus Dynamic Typing
- Substitutable Factories
- Using Factories for Test Fixtures
- Importance of Factories
- Conclusion
- Bibliography
- Chapter 30: The Payroll Case Study: Package Analysis
- Component Structure and Notation
- Applying the Common Closure Principle (CCP)
- Applying the Reuse/Release Equivalence Principle (REP)
- Coupling and Encapsulation
- Metrics
- Applying the Metrics to the Payroll Application
- The Final Packaging Structure
- Conclusion
- Bibliography
- Chapter 31: Composite
- Composite Commands
- Multiplicity or No Multiplicity
- Conclusion
- Chapter 32: Observer: Evolving into a Pattern
- The Digital Clock
- The Observer Pattern
- Conclusion
- Bibliography
- Chapter 33: Abstract Server, Adapter, and Bridge
- Abstract Server
- Adapter
- Bridge
- Conclusion
- Bibliography
- Chapter 34: Proxy and Gateway: Managing Third-Party APIs
- Proxy
- Databases, Middleware, and Other Third-Party Interfaces
- Table Data Gateway
- Using Other Patterns with Databases
- Conclusion
- Bibliography
- Chapter 35: Visitor
- VISITOR
- Acyclic Visitor
- Decorator
- Extension Object
- Conclusion
- Bibliography
- Chapter 36: State
- Nested Switch/Case Statements
- Transition Tables
- The State Pattern.
- Classes of State Machine Application
- Conclusion
- Bibliography
- Chapter 37: The Payroll Case Study: The Database
- Building the Database
- A Flaw in the Code Design
- Adding an Employee
- Transactions
- Loading an Employee
- What Remains?
- Chapter 38: The Payroll User Interface: Model View Presenter
- The Interface
- Implementation
- Building a Window
- The Payroll Window
- The Unveiling
- Conclusion
- Bibliography
- Appendix A: A Satire of Two Companies
- Rufus Inc.: Project Kickoff
- Rupert Industries: Project Alpha
- Appendix B: What Is Software?
- Index.