© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Broker Design Patterns: Adapters and Proxy.

Slides:



Advertisements
Similar presentations
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Generator Design Patterns: The Factory Patterns.
Advertisements

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 2- 1.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 18 Indexing Structures for Files.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2005 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object, Object- Relational, and XML: Concepts, Models, Languages,
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Design Patterns Part IV (TIC++V2:C10) Yingcai Xiao 10/01/08.
Adapters Presented By Zachary Dea. Definition A pattern found in class diagrams in which you are able to reuse an ‘adaptee’ class by providing a class,
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Part 1 Conditionals and Loops.
Design Patterns Ric Holt & Sarah Nadi U Waterloo, March 2010.
Proxy Design Pattern Source: Design Patterns – Elements of Reusable Object- Oriented Software; Gamma, et. al.
Client/Server Software Architectures Yonglei Tao.
1 Dept. of Computer Science & Engineering, York University, Toronto CSE3311 Software Design Adapter Pattern Façade pattern.
ADAPTER PATTERN BY Sravanthi Karumanchi. Structure Pattern Structure patterns are concerned with how classes and objects are composed to form large structures.
Implementing Design Patterns Using Java St. Louis Java Special Interest Group Eric M. Burke Object Computing, Inc. Presented on July 9, 1998 (updated July.
1 The Proxy Design Pattern Problem: Defer the cost of object creation and init. until actually used Applicability (possible contexts): – Virtual Proxy:
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Reactor Design Patterns: Command and Observer.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11.9 Curvature and Normal Vectors.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Limits.
JavaBeans Components. To understand JavaBeans…  Proficient experience with the Java language required  Knowledge of classes and interfaces  Object-Oriented.
Department of Computer Science, York University Object Oriented Software Construction 13/10/ :44 AM 0 CSE3311 – Software Design Adapter Pattern.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11.5 Lines and Curves in Space.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 4 Applications of the Derivative.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1 Functions.
18 April 2005CSci 210 Spring Design Patterns 1 CSci 210.
Patterns COM379 University of Sunderland James Malone.
Structural Design Patterns
More Design Patterns Horstmann ch.10.1,10.4. Design patterns Structural design patterns –Adapter –Composite –Decorator –Proxy Behavioral design patterns.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns V More Structural Patterns.
The Proxy Pattern SE-2811 Dr. Mark L. Hornick 1. The Proxy Pattern has many variations, but in general: The Proxy Pattern uses an proxy object as a surrogate.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
08 - StructuralCSC4071 Structural Patterns concerned with how classes and objects are composed to form larger structures –Adapter interface converter Bridge.
Structural Patterns1 Nour El Kadri SEG 3202 Software Design and Architecture Notes based on U of T Design Patterns class.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 5 Integration.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11.6 Calculus of Vector-Valued Functions.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Mid-Level Design Patterns: Iteration and Iterators.
Proxy Pattern defined The Proxy Pattern provides a surrogate or placeholder for another object to control access to it by creating a representative object.
Java Programming: Advanced Topics1 Introduction to Advanced Java Programming Chapter 1.
CS 210 Proxy Pattern Nov 16 th, RMI – A quick review A simple, easy to understand tutorial is located here:
Chapter 8 Object Design Reuse and Patterns. More Patterns Abstract Factory: Provide manufacturer independence Builder: Hide a complex creation process.
Adaptor Bridge Composite UNIT-IV1 Repeated key points for Structural Patterns (Intent, Motivation, Also Known As…) Code Examples Reference
Design Patterns: Structural Design Patterns General and reusable solutions to common problems in software design Software University
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Mid-Level Design Patterns Categories.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Broker Design Patterns: Façade and Mediator.
Week 9, Day 1 Proxy SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1.
Software Design and Architecture Muhammad Nasir Structural Design Patterns
Sections Inheritance and Abstract Classes
Introduction to Advanced Java Programming
Design Patterns C++ Java C#.
Design Patterns C++ Java C#.
State Design Pattern 1.
Frameworks And Patterns
Structural Pattern part-I introduction
Adapter Design Pattern
Object Oriented Analysis and Design
Adapter Pattern Jim Fawcett
Software Design Lecture 10.
Adapter Pattern Jim Fawcett
The OOTP is intended to get you thinking about how OO concepts are used in designing object-oriented systems. Note: not talking about OO technologies that.
Presentation transcript:

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Broker Design Patterns: Adapters and Proxy

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2 Objectives  To introduce Class and Object Adapter patterns and discuss their use  To introduce the Proxy patterns and discuss its use

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3 Topics  The Adapter/Wrapper patterns  The Proxy pattern

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 4 The Adapter/Wrapper Patterns  Often a component has reusable function but not a usable interface.  An adapter or wrapper is a component that provides a new interface to an existing component.  Analogy: electrical or plumbing adapters

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 5 Class and Object Adapters An adaptee may be given a new interface by an adapter in two ways: Inheritance—The adapter may sub-class the adaptee; this is the Class Adapter pattern Delegation—The adapter may hold a reference to the adaptee and delegate work to it; this is the Object Adapter pattern

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 6 Class Adapter Structure

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7 Object Adapter Structure

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 8 Object Adapter Behavior

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 9 Example: A Thread-Safe Priority Queue—Problem PriorityQueue works properly but is not thread-safe—how can we reuse this class in a thread-safe way?

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 10 Example: A Thread-Safe Priority Queue—Class Adapter

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11 Example: A Thread-Safe Priority Queue—Object Adapter

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 12 More Adapter Examples  Adding an adapter to a text editing class to make it resemble the members of a shape editing class in a graphical editor  Adding a class interface to fundamental data types that have atomic values (as in Java)  Wrapping legacy code to provide an OO interface

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 13 When to Use Adapters  The current context of use expects a certain interface.  A simplified interface is needed.  Operations with slightly different functionality are needed.

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 14 The Proxy Pattern  Stand-ins for object may be needed because the real object Is not locally available; Is expensive to create; or Needs protected access for security or safety.  The stand-in must Have the same interface as the real object; Handle as many messages as it can; Delegate messages to the real object when necessary.  Analogy: a stand-in or proxy

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 15 Proxy Pattern Structure

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 16 Proxy Pattern Behavior

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 17 Example: Image Proxy

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 18 When to Use Proxies  Use the Proxy pattern whenever the services provided by a supplier need to be mediated or managed in some way without disturbing the supplier interface.  Kinds of proxies: Virtual proxy—Delay the creation or loading of large or computationally expensive objects Remote proxy—Hide the fact that an object is not local Protection proxy—Ensure that only authorized clients access a supplier in legitimate ways

© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 19 Summary  The Adapter patterns use inheritance (Class Adapter) or delegation (Object Adapter) to change the interface of an existing component for reuse.  The Proxy pattern provides a stand-in for a real object that mediates interaction with a client without disturbing its interface.