1 option
Agile principles, patterns, and practices in C
- Format:
- Book
- Author/Creator:
- Martin, Robert C., Author.
- Series:
- Robert C. Martin series Agile principles, patterns, and practices in C#
- Language:
- English
- Subjects (All):
- Object-oriented programming (Computer science)--Development.
- Object-oriented programming (Computer science).
- C# (Computer program language).
- Computer software.
- Physical Description:
- 1 online resource (768 p. ) ill.
- Edition:
- 1st edition
- Place of Publication:
- [Place of publication not identified] Prentice Hall 2007
- Language Note:
- English
- System Details:
- text file
- Summary:
- 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. 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. ...
- Contents:
- 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
- Chapter 3: Planning
- Initial Exploration
- Release Planning
- Iteration Planning
- Defining "Done"
- Task Planning
- Iterating
- Tracking
- Chapter 4: Testing
- Test-Driven Development
- Acceptance Tests
- Serendipitous Architecture
- Chapter 5: Refactoring
- A Simple Example Of Refactoring: Generating Primes
- Chapter 6: A Programming Episode
- The Bowling Game
- Overview of the Rules of Bowling
- Section II: Agile Design
- Chapter 7: What Is Agile Design?
- Design Smells
- Why Software Rots
- The Copy Program
- Chapter 8: The Single-Responsibility Principle (SRP)
- Defining a Responsibility
- Separating Coupled Responsibilities
- Persistence
- Chapter 9: The Open/Closed Principle (OCP)
- Description of OCP
- The Shape Application
- Chapter 10: The Liskov Substitution Principle (LSP)
- Violations of LSP
- Factoring Instead of Deriving
- Heuristics and Conventions
- Chapter 11: The Dependency-Inversion Principle (DIP)
- Layering
- A Simple DIP Example
- The Furnace Example
- Chapter 12: The Interface Segregation Principle (ISP)
- Interface Pollution
- Separate Clients Mean Separate Interfaces
- Class Interfaces versus Object Interfaces
- The ATM User Interface Example
- Bibliography.
- Chapter 13: Overview of UML for C# Programmers
- Class Diagrams
- Object Diagrams
- Collaboration Diagrams
- State Diagrams
- Chapter 14: Working with Diagrams
- Why Model?
- Making Effective Use of UML
- Iterative Refinement
- When and How to Draw Diagrams
- Chapter 15: State Diagrams
- The Basics
- Using FSM Diagrams
- Chapter 16: Object Diagrams
- A Snapshot in Time
- Active Objects
- Chapter 17: Use Cases
- Writing Use Cases
- Diagramming Use Cases
- Chapter 18: Sequence Diagrams
- Advanced Concepts
- Chapter 19: Class Diagrams
- An Example Class Diagram
- The Details
- Chapter 20: Heuristics and Coffee
- The Mark IV Special Coffee Maker
- OOverkill
- 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
- Chapter 22: Template Method and Strategy: Inheritance versus Delegation
- Template Method
- Strategy
- Chapter 23: Facade and Mediator
- Facade
- Mediator
- Chapter 24: Singleton and Monostate
- Singleton
- Monostate
- Chapter 25: Null Object
- Description
- Chapter 26: The Payroll Case Study: Iteration 1.
- Rudimentary Specification
- Analysis by Use Cases
- Reflection: Finding the Underlying Abstractions
- Chapter 27: The Payroll Case Study: Implementation
- Main Program
- The Database
- About This Chapter
- 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
- Chapter 29: Factory
- A Dependency Problem
- Static versus Dynamic Typing
- Substitutable Factories
- Using Factories for Test Fixtures
- Importance of Factories
- 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
- Chapter 31: Composite
- Composite Commands
- Multiplicity or No Multiplicity
- Chapter 32: Observer: Evolving into a Pattern
- The Digital Clock
- The Observer Pattern
- Chapter 33: Abstract Server, Adapter, and Bridge
- Abstract Server
- Adapter
- Bridge
- 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
- Chapter 35: Visitor
- VISITOR
- Acyclic Visitor
- Decorator
- Extension Object
- Chapter 36: State
- Nested Switch/Case Statements
- Transition Tables
- The State Pattern.
- Classes of State Machine Application
- Chapter 37: The Payroll Case Study: The Database
- Building the Database
- A Flaw in the Code Design
- Adding an Employee
- 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
- Appendix A: A Satire of Two Companies
- Rufus Inc.: Project Kickoff
- Rupert Industries: Project Alpha
- Appendix B: What Is Software?
- Index.
- Notes:
- Bibliographic Level Mode of Issuance: Monograph
- Description based on publisher supplied metadata and other sources.
- ISBN:
- 9786612646607
- 9781282646605
- 1282646605
- 9780132055109
- 0132055104
- OCLC:
- 1027173712
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.