Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between...

19
Design Pattern

Transcript of Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between...

Page 1: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

Design Pattern

Page 2: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Observer Pattern• 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.

Page 3: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Observer Pattern

Page 4: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Decorator Pattern• Also known as Wrapper

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

Page 5: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Decorator Pattern• Wrapper could be achieved by the following

sequence of steps:1. Subclass the original "Component" class into a "Decorator" class (see

UML diagram);2. In the Decorator class, add a Component pointer as a field;3. Pass a Component to the Decorator constructor to initialize the

Component pointer;4. In the Decorator class, redirect all "Component" methods to the

"Component" pointer; and5. In the ConcreteDecorator class, override any Component method(s)

whose behavior needs to be modified.

Page 6: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Decorator Pattern

Page 7: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Factory Method Pattern

• The Factory Method Pattern defines an interface for creating an object, but lots subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.

Page 8: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Factory Method Pattern

Page 9: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Abstract Factory Pattern

• The Abstract Factory Pattern provides an interface for creating families of related or dependent objects without specifying their concrete classes.

Page 10: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Abstract Factory Pattern

Page 11: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Singleton Pattern• The Singleton Pattern ensures a class has only

one instance, and provides a global point of access to it.

Page 12: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Singleton Pattern

Page 13: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Command Pattern• The Command Pattern encapsulates a request as

an object, thereby letting you parameterize other objects with different request, queue or log requests, and support undoable operations.

Page 14: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Command Pattern

Page 15: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Adapter Pattern• The Adapter Pattern converts the interface of a

class into another interface the clients expect. Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.

Page 16: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Adapter Pattern

Page 17: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Fecade Pattern• The Fecade Pattern provides a unified interface to

a set of interfaces in a subsystem. Fecade defines a higherlevel interface that makes the subsystem easier to use.

Page 18: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

The Fecade Pattern

Page 19: Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.

Thanks for your attention