Table of Contents


book cover
Agile Principles, Patterns, and Practices in C#
By Martin C. Robert, Martin Micah
...............................................
Publisher: Prentice Hall
Pub Date: July 20, 2006
Print ISBN-10: 0-13-185725-8
Print ISBN-13: 978-0-13-185725-4
Pages: 768
 



Table of Contents  | Index

   Copyright
    Robert C. Martin Series
    Foreword
    Foreword
    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
      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
      Appendix B.  What Is Software?
      Afterword
      InsideFrontCover
      Manifesto for Agile Software Development
      Principles behind the Agile Manifesto
      InsideBackCover
      Practices of Extreme Programming
      The Principles of Object Oriented Design
   Index



Agile Principles, Patterns, and Practices in C#
Agile Principles, Patterns, and Practices in C#
ISBN: 0131857258
EAN: 2147483647
Year: 2006
Pages: 272

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net