Professional Documents
Culture Documents
Design Patterns Training B PDF
Design Patterns Training B PDF
Design Patterns
•
Introductions
VM setup
• Design patterns
• Creational patterns
• Abstract Factory
• Singleton
• Structural patterns
• Adapter
• Decorator
• Façade
• Behavioral patterns
• Chain of Responsibility
• Observer
• Strategy
Published in 1994!
Think ahead. Act now.
Four elements of a design pattern
• Pattern name
Identifies the problem, solution(s) and consequences
• Problem
When to apply the pattern
• Solution
Describes elements of the design
• Consequences
The result and trade-offs of applying the pattern
Be careful!
• Structural
• Behavioral
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/dbproviderfactories
Xpirit.DesignPatterns
Xpirit.DesignPatterns.Creational
AbstractFactory
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/sessions-instancing-and-concurrency
Xpirit.DesignPatterns
Xpirit.DesignPatterns.Creational
Singleton
custAdapter.Fill(customerOrders, "Customers");
ordAdapter.Fill(customerOrders, "Orders");
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/populating-a-dataset-from-a-dataadapter
Xpirit.DesignPatterns
Xpirit.DesignPatterns.Structural
Adapter
Xpirit.DesignPatterns
Xpirit.DesignPatterns.Structural
Decorator
https://docs.microsoft.com/en-us/dotnet/api/system.xml.serialization.xmlserializer
Xpirit.DesignPatterns
Xpirit.DesignPatterns.Structural
Facade
- No guarantee of receipt
https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/routed-events-overview
Xpirit.DesignPatterns.Behavioural
ChainOfResponsibility
- Cascading updates
https://docs.microsoft.com/en-US/dotnet/api/system.iobservable-1
Xpirit.DesignPatterns
Xpirit.DesignPatterns.Behavioural
Observer
https://docs.microsoft.com/en-us/dotnet/standard/collections/comparisons-and-sorts-within-collections
Xpirit.DesignPatterns
Xpirit.DesignPatterns.Behavioural
Strategy
Marc Duiker
mduiker@xpirit.com
@marcduiker