five minute design patterns

Post on 30-Dec-2015

52 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Template Factory Singleton Iterator Adapter Façade Observer Command Strategy Decorator. Five Minute Design Patterns. Doug Marttila Forest and the Trees May 30, 2009. Design Patterns. WTF Not a framework 23 - not all applicable to Flash and Flex You’ve used them. - PowerPoint PPT Presentation

TRANSCRIPT

Five Minute Design PatternsDoug MarttilaForest and the TreesMay 30, 2009

Template

Factory

Singleton

Iterator

Adapter

Façade

Observer

Command

Strategy

Decorator

2Forest and the Trees

Design Patterns

• WTF

• Not a framework

• 23 - not all applicable to Flash and Flex

• You’ve used them

3Forest and the Trees

Why Patterns Matter• Common language

• CS is good for you

• Speed up your development

• Preexisting documentation

• Refine your solutions

• Explains the why

4Forest and the Trees

Best Practices?

• Not really in this presentation

• Beware patterns overload

5Forest and the Trees

Best Practices

• Encapsulate what varies

• Program to an interface (or super class)

• Favor composition over inheritance

• Inversion of Control

★ Hollywood principle

6Forest and the Trees

Categories of Patterns(Are these useful at all? Not so much.)

• Creational

• Structural

• Behavioral

7Forest and the Trees

Template

• Define the skeleton (or invariant parts) of an algorithm in a method, while deferring some steps to subclasses.

• Setup the big picture and leave the details to the person doing the work.

8Forest and the Trees

Factory

• Define an interface for creating an object, but let the subclasses decide which class to instantiate. The Factory method lets a class defer instantiation to subclasses

9Forest and the Trees

Singleton

• Singleton Pattern ensures a class has only one instance, and provides a global point of access to it.

10

Forest and the Trees

Iterator

• The Iterator Pattern provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation

11

Forest and the Trees

Adapter

• The Adapter Pattern converts the interface of a class into another interface the clients expect.

• Adapter lets classes work together that couldn'totherwise because of incompatible interfaces.

12

Forest and the Trees

Façade•The Façade Pattern provides a unified

interface to a set of interfaces in a subsystem. Facade defines a higher level interface that makes the subsystem easier to use.

•Principle of Least Knowledge - talk only to your immediate friends

13

Forest and the Trees

Observer

• The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all of its dependents are notified and updated automatically.

14

Forest and the Trees

Command

• The Command Pattern encapsulates a request as an object, thereby letting you parameterize other objects with different requests, queue or log requests, and support undoable operations.

15

Forest and the Trees

Strategy

• The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from the clients that use it.

16

Forest and the Trees

Decorator - last one!

• The Decorator Pattern attaches additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality.

17

Forest and the Trees

More Patterns!!!

• State

• Composite

• Bridge

• Proxy

• Interpreter

• Builder

• Abstract Factory

• Memento

• Prototype

• Visitor

• Mediator

• Chain of Responsibility

• Flyweight

• MVC

18

Forest and the Trees

Resources

• Beerfug.com

• http://www.forestandthetrees.com/designPatterns/

• Head First Design Patterns (the best) Java

• GoF (dry, but what started it all)

• ActionScript 3 with Design Patterns (Lott, Patterson)

• ActionScript 3.0 Design Patterns (Sanders, Cumaranatunge)

19

Forest and the Trees

Thank You!

Doug Marttila

forestandthetrees.com

doug@forestandthetrees.com

beerfug.com (first wednesday of every month, beer + code)

Forest and the Trees 20

FoT!

top related