SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern...

Post on 18-Jan-2016

233 views 2 download

Tags:

Transcript of SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern...

SOFTWARE DESIGN AND ARCHITECTURE

LECTURE 31

Review

• Creational Design Patterns– Singleton Pattern– Builder Pattern

Outline

• Behavioral Patterns– Observer Pattern– Chain of command

Behavioral Patterns

• characterize the ways in which classes or objects interact and distribute responsibility.

• Behavioral class patterns:– use inheritance to describe algorithms and flow of

control• Behavioral object patterns:– describe how a group of objects cooperate to

perform a task that no single object can carry out alone.

OBSERVER

Observer Design Pattern

Intent– Define a one-to-many dependency between objects so

that when one object changes state, all its dependents are notified and updated automatically.

• Encapsulate the core (or common or engine) components in a Subject abstraction, and the variable (or optional or user interface) components in an Observer hierarchy.

• The "View" part of Model-View-Controller.

Chain of Responsibility• Intent:– Avoid coupling the sender of a request to its receiver by

giving more than one object a chance to handle the request.

– Chain the receiving objects and pass the request along the chain until an object handles it.

• The pattern chains the receiving objects together, and then passes any request messages from object to object until it reaches an object capable of handling the message.

• The number and type of handler• objects isn't known a priori, • they can be configured dynamically.

Summary

• Behavioral Patterns– Observer Pattern– Chain of command