Design patterns in C# /

Saved in:
Bibliographic Details
Author / Creator:Metsker, Steven John.
Imprint:Boston : Addison-Wesley, c2004.
Description:xvii, 456 p. : ill. ; 24 cm.
Language:English
Series:The software patterns series
Software patterns series.
Subject:
Format: Print Book
URL for this record:http://pi.lib.uchicago.edu/1001/cat/bib/5642766
Hidden Bibliographic Details
ISBN:0321126971
Notes:Includes bibliographical references (p. 439-440) and index.
Standard no.:076092019695
9780321126979
9780321126979 54999
Table of Contents:
  • Preface
  • 1. Introduction
  • Why Patterns?
  • Why Design Patterns?
  • Why C#? UML
  • Challenges
  • The Organization of this Book
  • Welcome to Oozinoz!
  • Summary
  • I. Interface Patterns
  • 2. Introducing Interfaces
  • Interfaces and Abstract Classes
  • Interfaces and Delegates
  • Interfaces and Properties
  • Interface Details
  • Summary
  • Beyond Ordinary Interfaces
  • 3. Adapter
  • Adapting to an Interface
  • Class and Object Adapters
  • Adapting Data in NET
  • Summary
  • 4. FacadeAn Ordinary Facade
  • Refactoring to Facade
  • Facades, Utilities, and Demos
  • Summary
  • 5. Composite
  • An Ordinary Composite
  • Recursive Behavior in Composites
  • Composites, Trees, and Cycles
  • Composites with Cycles
  • Consequences of Cycles
  • Summary
  • 6. Bridge
  • An Ordinary Abstraction
  • From Abstraction to Bridge
  • Drivers as Bridges
  • Database Drivers
  • Summary
  • II. Responsibility Patterns
  • 7. Introducing Responsibility
  • Ordinary Responsibility
  • Controlling Responsibility with Accessibility
  • Summary
  • Beyond Ordinary Responsibility
  • 8. Singleton
  • Singleton Mechanics
  • Singletons and Threads
  • Recognizing Singleton
  • Summary
  • 9. Observer
  • C# Support for Observer
  • Delegate Mechanics
  • A Classic Example-Observer in GUIs
  • Model/View/Controller
  • Layering
  • Summary
  • 10. Mediator
  • A Classic Example-GUI Mediators
  • Relational Integrity Mediators
  • Summary
  • 11. Proxy
  • A Simple Proxy
  • A Data Proxy
  • Remote Proxies
  • Summary
  • 12. Chain of Responsibility
  • An Ordinary Chain of Responsibility
  • Refactoring to Chain of Responsibility
  • Anchoring a Chain
  • Chain of Responsibility without Composite
  • Summary
  • 13. Flyweight
  • Immutability
  • Extracting the Immutable Part of a Flyweight
  • Sharing Flyweights
  • Summary
  • III. Construction Patterns
  • 14. Introducing Construction
  • A Few Construction Challenges
  • Summary
  • Beyond Ordinary Construction
  • 15. BuilderAn Ordinary Builder
  • Building under Constraints
  • A Forgiving Builder
  • Summary
  • 16. Factory Method
  • A Classic Example-Enumerators
  • Recognizing Factory Method
  • Taking Control of Which Class to Instantiate
  • Factory Method in Parallel Hierarchies
  • Summary
  • 17. Abstract Factory
  • A Classic Example-GUI Kits
  • Abstract Factories and Factory Method
  • Namespaces and Abstract Factories
  • Summary
  • 18. Prototype
  • Prototypes as Factories
  • Prototyping with Clones
  • Summary
  • 19. Memento
  • A Classic Example-Using Memento for Undo
  • Memento Durability
  • Persisting Mementos across Sessions
  • Summary
  • IV. Operation Patterns
  • 20. Introducing Operations
  • Operations and Methods
  • Signatures
  • Delegates
  • Exceptions
  • Algorithms and Polymorphism
  • Summary
  • Beyond Ordinary Operations
  • 21. Template Method
  • A Classic Example-Sorting
  • Completing an Algorithm
  • Template Method Hooks
  • Refactoring to Template Method
  • Summary
  • 22. State
  • Modeling States
  • Refactoring to State
  • Making States Constant
  • Summary
  • 23. Strategy
  • Modeling Strategies
  • Refactoring to Strategy
  • Comparing Strategy and State
  • Comparing Strategy and Template Method
  • Summary
  • 24. Command
  • A Classic Example-Menu Commands
  • Using Command to Supply a Service
  • Command Hooks
  • Command in Relation to Other Patterns
  • Summary
  • 25. Interpreter
  • An Interpreter Example
  • Interpreters, Languages, and Parsers
  • Summary
  • lV. Extension Patterns
  • 26. Introducing Extensions
  • Principles of OO Design
  • The Liskov Substitution Principle
  • The Law of Demeter
  • Remov