Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

GoF Behavioral Patterns-Object-Oriented Design-Lecture 22 Slides-Computer Engineering, Slides of Object Oriented Analysis and Design

GoF Behavioral Patterns, Chain of Responsibility, Iterator, Mediator, Observer, State, Strategy, Visitor, Raman Ramsin, Lecture Slides, Object Oriented Design, Department of Computer Engineering, Sharif University of Technology, Iran.

Typology: Slides

2011/2012

Uploaded on 02/19/2012

hester
hester 🇮🇷

4.5

(13)

85 documents

1 / 23

Toggle sidebar

Related documents


Partial preview of the text

Download GoF Behavioral Patterns-Object-Oriented Design-Lecture 22 Slides-Computer Engineering and more Slides Object Oriented Analysis and Design in PDF only on Docsity!

Department of Computer Engineering

Sharif University of Technology

Object-Oriented Design

Lecturer: Raman Ramsin

Lecture 22

GoF Design Patterns – Behavioral

Department of Computer Engineering

Sharif University of Technology

GoF Behavioral Patterns – Class  ClassInterpreter: Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.  Template Method: Define the skeleton of an algorithm in an operation, deferring some steps to subclasses; lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.

Department of Computer Engineering

Sharif University of Technology

GoF Behavioral Patterns – Object  ObjectChain of Responsibility: 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.  Command: Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.  Iterator: Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.  Mediator: Define an object that encapsulates how a set of objects interact; promotes loose coupling by keeping objects from referring to each other explicitly.

Department of Computer Engineering

Sharif University of Technology

GoF Behavioral Patterns – Object (Contd.)  Object (Contd.)Memento: Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later.  Observer: Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.  State: Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.  Strategy: Define a family of algorithms, encapsulate each one, and make them interchangeable; lets the algorithm vary independently from clients that use it.  Visitor: Represent an operation to be performed on the elements of an object structure; lets you define a new operation without changing the classes of the elements.

Department of Computer Engineering

Sharif University of Technology

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.

Department of Computer Engineering

Sharif University of Technology

Chain of Responsibility: Class Hierarchy

Department of Computer Engineering

Sharif University of Technology

Chain of Responsibility: Structure

Department of Computer Engineering

Sharif University of Technology

Iterator  Intent:  Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

Department of Computer Engineering

Sharif University of Technology

Iterator: Structure

Department of Computer Engineering

Sharif University of Technology

Mediator  Intent:  Define an object that encapsulates how a set of objects interact: promotes loose coupling by keeping objects from referring to each other explicitly, and lets you vary their interaction independently.

Department of Computer Engineering

Sharif University of Technology

Mediator: Typical Collaboration and Class Hierarchy

Department of Computer Engineering

Sharif University of Technology

Mediator: Structure

Department of Computer Engineering

Sharif University of Technology

Observer  Intent:  Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.

Department of Computer Engineering

Sharif University of Technology

Observer: Structure

Department of Computer Engineering

Sharif University of Technology

Observer: Collaboration

Department of Computer Engineering

Sharif University of Technology

State  Intent:  Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.

Department of Computer Engineering

Sharif University of Technology

State: Structure

Department of Computer Engineering

Sharif University of Technology

Strategy  Intent:  Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.

Department of Computer Engineering

Sharif University of Technology

Strategy: Structure

Department of Computer Engineering

Sharif University of Technology

Visitor  Intent:  Represent an operation to be performed on the elements of an object structure; lets you define a new operation without changing the classes of the elements on which it operates.

Department of Computer Engineering

Sharif University of Technology

Visitor: Structure

Department of Computer Engineering

Sharif University of Technology

Visitor: Collaborations

Department of Computer Engineering

Sharif University of Technology

Reference  Gamma, E., Helm, R., Johnson, R., and Vlissides, J., Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley, 1995.