This document summarizes a presentation about design patterns. It introduces several classic design patterns like command, facade, observer, adapter, strategy, factory and others. It provides examples of when and how to use the patterns. It also discusses where these patterns are commonly found in .NET code and shares experiences applying the patterns on projects. Attendees were encouraged to apply their new pattern knowledge and teach others.
3. EPS
As an attendee to this session, you are entitled to a free CODE subscription!
www.codemag.com/subscribe/htf10
Software Projects
Consulting
Training
Publishers of CODE Magazine
The .Net Knowledge Powerho
5. :url => snipr.com/virtualaltnet
:website => www.virtualbrownbag.com
:when => every Thursday from 12pm 1pm
Where everyone can come talk and learn
about software development
11. Design
Patternsdescribe a concept
or process on an
abstract level.
These patterns arose
from repeated
successful
applications on how
to design software to
adapt to change
14. Ok so. Im going to pretend to
hand off the ball but really I am going to
pass it. The hope is the defense will be
confused for a few seconds so that can
create an opening and one of you guys
can get open
Play Action Pass?
meanwhile a well organized team is
already running their play
More effective commu
15. If design patterns are known best
practices why are there no
frameworks or libraries for design
patterns?
more about
form and
context than
code
allegory of the cave
17. Princip
lesProgram to interface, not to implementation
Strive for loosely coupled designs between objects
that interact
Favor composition over inheritance
SOLID
Principles => form => design pattern
21. Command Pattern
is a design pattern in which an object is
used to represent and encapsulate all the
information needed to execute an operation
at a later time
22. with commands you can also
Queue
Log
Undo
commands in the form of a macro command
thereby handling complexity through composition
command execution for future
diagnosis of problems and bugs
more easily support
30. Observer Pattern
defines a dependency between objects so
that when one object changes, dependent
objects can be notified
Publishers + Subscribers = Observer Pattern
40. Strategy Pattern
defines a family of algorithms, encapsulates
each one, and makes them interchangeable.
This lets the algorithm vary independently
from clients that use it.