Design Pattern – Bridge (Structural) References Yih-shoung Chen, Department of Information Engineering, Feng Chia University,Taiwan, R.O.C. The Bridge.

Slides:



Advertisements
Similar presentations
Design Patterns.
Advertisements

Creational Patterns (2) CS350/SE310 Fall, Lower the Cost of Maintenance Economic Goal Coupling-Cohesion, Open-Close, Information-Hiding, Dependency.
1 Structural Design Patterns - Neeraj Ray. 2 Structural Patterns - Overview n Adapter n Bridge n Composite n Decorator.
Linzhang Wang Dept. of Computer Sci&Tech, Nanjing University The Bridge Pattern.
The Bridge Pattern.. Intent Decouple an abstraction from its implementation so that the two can vary independently Also known as: Handle/Body.
PATTERNS -STRUCTURAL PATTERNS WATTANAPON G SUTTAPAK Software Engineering, School of Information Communication Technology, University of PHAYAO 1.
Design Patterns for Object Oriented systems CSC 515 Ashwin Dandwate.
The Bridge Pattern Guang Hu February Overview MotivationMotivation ParticipantsParticipants  Structure  Applicability  Benefits  Drawbacks 
Bridge The decoupling of abstraction and implementation.
Patterns Lecture 2. Singleton Ensure a class only has one instance, and provide a global point of access to it.
Design Patterns In OPM Presented by: Galia Shlezinger Instructors: Prop. Dov Dori, Dr. Iris Berger.
Chapter 8, Object Design Introduction to Design Patterns
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Design Patterns Based on Design Patterns. Elements of Reusable Object-Oriented Software. by E.Gamma, R. Helm, R. Johnson,J. Vlissides.
Chapter 8 Object Design Reuse and Patterns. Finding Objects The hardest problems in object-oriented system development are: –Identifying objects –Decomposing.
ECE 355 Design Patterns Tutorial Part 2 (based on slides by Ali Razavi) Presented by Igor Ivković
Chapter 22 Object-Oriented Design
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Builder A Creational Design Pattern A Presentation by Alex Bluhm And.
Creational Patterns Making Objects The Smart Way Brent Ramerth Abstract Factory, Builder.
Introduction to software design patterns For CSE 3902 By: Matt Boggus.
Design Patterns.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Case Studies on Design Patterns Design Refinements Examples.
CS 325: Software Engineering March 17, 2015 Applying Patterns (Part A) The Façade Pattern The Adapter Pattern Interfaces & Implementations The Strategy.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Advanced topics in software engineering CSC532 Term Paper Design Patterns Harpreet Singh Submitted By:-
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
Real Time Auction System Metex Systems Inc.. Inside the UML The Problem Auctioning in real time over the Web requires that many people connect and participate.
Behavioral Design Patterns Morteza Yousefi University Of Science & Technology Of Mazandaran 1of 27Behavioral Design Patterns.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 8, Object Design: Introduction to Design Patterns.
CS 590L – Distributed Component Architecture 02/20/2003Uttara Paingankar1 Design Patterns: Factory Method The factory method defines an interface for creating.
Design Patterns: Elements of Reusable Object- Orientated Software Gamma, Helm, Johnson, Vlissides Presented By: David Williams.
Using Software Design Patterns Bill Anderson. About me Fox developer since 1987 Fox developer since 1987 Program Director, Los Angeles Visual Foxpro Developers.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMMING PRACTICES Model View.
Pattern Bridge. Definition Bridge is the structural pattern that separates abstraction from the implementation so that both of them can be changed independently.
Bridge Bridge is used when we need to decouple an abstraction from its implementation so that the two can vary independently. This type of design pattern.
Adaptor Bridge Composite UNIT-IV1 Repeated key points for Structural Patterns (Intent, Motivation, Also Known As…) Code Examples Reference
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
By Robert Smith Feb 23,  The normal method of dealing with an abstraction having several implementations is through inheritance.  However, this.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Huang-Ming Huang, Shih-Ling Chen, Sajeeva Pallemulle.
Design Patterns Creational Patterns. Abstract the instantiation process Help make the system independent of how its objects are created, composed and.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
Chapter 8 Object Design: Reuse and Patterns 2.
Design Patterns: MORE Examples
Strategy Design Pattern
MPCS – Advanced java Programming
Factory Patterns 1.
Software Design and Architecture
Instructor: Dr. Hany H. Ammar
Chapter 8, Design Patterns Bridge
Chapter 8, Object Design Reuse and Patterns II
Presented by Igor Ivković
Chapter 8, Object Design Introduction to Design Patterns
Behavioral and Structural Patterns
Mediator Design Pattern (Behavioral)
Design Pattern: Visitor
Informatics 122 Software Design II
Object Oriented Design Patterns - Structural Patterns
DESIGNING YOUR SYSTEM.
Ms Munawar Khatoon IV Year I Sem Computer Science Engineering
BRIDGE PATTERN.
Structural Pattern part-I introduction
Structural Patterns: Adapter and Bridge
Informatics 122 Software Design II
Composite Design Pattern By Aravind Reddy Patlola.
Presented by Igor Ivković
Presentation transcript:

Design Pattern – Bridge (Structural) References Yih-shoung Chen, Department of Information Engineering, Feng Chia University,Taiwan, R.O.C. The Bridge Pattern, SENG Design Patterns, University of Calgary The Bridge Pattern, CpSc 872 Software Engineering Gamma, E., R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software.

By Tulika Rathi 2 Intent Decouple an abstraction from its implementation so that the two can vary independently Allows different implementations of an interface to be decided upon dynamically. Also known as Handle/Body pattern

By Tulika Rathi 3 Motivation & Applicability Avoid a permanent binding between an abstraction and its implementation Both the abstractions and their implementation should be extensible by subclassing Changes in the implementation of an abstraction do not impact the clients Share an implementation among multi objects and this facts should be hidden from the client E.g.: Windows

By Tulika Rathi 4 Participants Abstraction Refined abstraction Concrete implementor Implementor

By Tulika Rathi 5 Structure

By Tulika Rathi 6 Example of problem suitable for bridge

By Tulika Rathi 7 A more complex situation

By Tulika Rathi 8 Solution using Bridge

By Tulika Rathi 9 Pros & Cons Pros decoupling of the implementation from the interface improved extensibility of classes additional capability for hiding implementation details from clients best leveraged as a pure design-time pattern Cons (Implementation Issues) abstractions that have only one implementation creating the right Implementor sharing implementors use of multiple inheritance

By Tulika Rathi 10 Adapter vs Bridge Similarities: Both used to hide the details of the underlying implementation. Difference: The adapter pattern is geared towards making unrelated components work together Applied to systems after they’re designed (reengineering, interface engineering). A bridge, on the other hand, is used up-front in a design to let abstractions and implementations vary independently. Green field engineering of an “extensible system” New “beasts” can be added to the “object zoo”, even if these are not known at analysis or system design time. Structural difference: Bridge can abstract a complex entity from its implementation; Adapter only abstracts a single interface

Thank You