SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31 Review Creational

  • Slides: 16
Download presentation
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31

SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31

Review • Creational Design Patterns – Singleton Pattern – Builder Pattern

Review • Creational Design Patterns – Singleton Pattern – Builder Pattern

Outline • Behavioral Patterns – Observer Pattern – Chain of command

Outline • Behavioral Patterns – Observer Pattern – Chain of command

Behavioral Patterns • characterize the ways in which classes or objects interact and distribute

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

Observer Design Pattern Intent – Define a one-to-many dependency between objects so that when

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

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

• 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

Summary • Behavioral Patterns – Observer Pattern – Chain of command