My Account Log in

1 option

Agile principles, patterns, and practices in C

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Martin, Robert C., Author.
Contributor:
Martin, Micah, Contributor.
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.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account