Computer Science 490.002 Topical Paper Presentation #03 Adam Coffman The Cascading Bridge C a s c a d i n g B r i d g e – P a g e 1 The Cascading Bridge.

Slides:



Advertisements
Similar presentations
Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.
Advertisements

Computer Science Dept. Fall 2003 Object models Object models describe the system in terms of object classes An object class is an abstraction over a set.
Classes & Objects Computer Science I Last updated 9/30/10.
The Bridge Pattern.. Intent Decouple an abstraction from its implementation so that the two can vary independently Also known as: Handle/Body.
1 CSE1301 Computer Programming Lecture 25: Software Engineering.
William Shiver.  Pattern used to decouple an abstraction from its implementation so that the two can vary independently.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Design Pattern – Bridge (Structural) References Yih-shoung Chen, Department of Information Engineering, Feng Chia University,Taiwan, R.O.C. The Bridge.
ECE 355 Design Patterns Tutorial Part 2 (based on slides by Ali Razavi) Presented by Igor Ivković
L6-1-S1Design Heuristics - 1 © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
Dr. Alireza Isfandyari-Moghaddam Department of Library and Information Studies, Islamic Azad University, Hamedan Branch
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS 4240: Bridge and Abstract Factory Readings:  Chap. 10 and 11 Readings:  Chap. 10 and 11.
8:15 AM Tuesday September 15, 2009 Karl Frank, Point of Contact for Constellation Projects Establishing IV&V Expectations Diagrams for illustrative purposes.
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
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.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Introduction into component programming based on Java beans Dušan Tošić
1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:
CS 350 – Software Design The Strategy Pattern – Chapter 9 Changes to software, like other things in life, often focus on the immediate concerns and ignore.
Chain of Responsibility Design Pattern Source: Design Patterns – Elements of Reusable Object- Oriented Software; Gamma, et. al.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
1 CS161 Introduction to Computer Science Topic #9.
08 - StructuralCSC4071 Structural Patterns concerned with how classes and objects are composed to form larger structures –Adapter interface converter Bridge.
DESIGN PATTERNS COMMONLY USED PATTERNS What is a design pattern ? Defining certain rules to tackle a particular kind of problem in software development.
Java Fundamentals Usman Ependi UBD
Computer Science Topical Paper Presentation #NN Presenter Name Pattern Name P a t t e r n X Y Z – P a g e 1 Original Paper Title by Paper Author.
Using Software Design Patterns Bill Anderson. About me Fox developer since 1987 Fox developer since 1987 Program Director, Los Angeles Visual Foxpro Developers.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
Inheritance Examples.
1 Here are some quotations to get an overview of the kinds of issues of interest.
Chapter Ten The Bridge Pattern Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Object- oriented Design Principles
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Pertemuan 09 Architectural Patterns Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
1 Lecture Material Design Patterns Visitor Client-Server Factory Singleton.
Understand the Local Area Networks (LANs)
Software Design Refinement Using Design Patterns
Test-Driven Development
Network instantiation
Real Life Networking Examples
To understand recursion, you have to understand recursion!
Instructor: Dr. Hany H. Ammar
Chapter 8, Design Patterns Bridge
The Object Oriented Approach to Design
Presented by Igor Ivković
Chapter 19: Interfaces and Components
Machine Independent Features
CBSE 2014 Modeling Components with UML
Student: Ying Hong Course: Database Security Instructor: Dr. Yang
Chapter 19: Interfaces and Components
Chapter 19: Interfaces and Components
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
SE2811 Software Component Design Dr. Rob Hasker
Structural Patterns: Adapter and Bridge
SE2811 Software Component Design Dr. Rob Hasker
TOPIC: (insert here) INSERT STUDENT NAMES HERE.
Week 6, Class 2: Observer Pattern
Presented by Igor Ivković
Interfaces and Components
Extending Interface Based Design
Message Passing Systems Version 2
Chapter 19: Interfaces and Components
Message Passing Systems
Presentation transcript:

Computer Science Topical Paper Presentation #03 Adam Coffman The Cascading Bridge C a s c a d i n g B r i d g e – P a g e 1 The Cascading Bridge Design Pattern by Brendan McCarthy

The Problem The Cascading Bridge design pattern addresses a similar problem to the traditional Bridge pattern but provides additional layers of separation. The traditional Bridge pattern separates the interface to an Object from its implementation, allowing the two to vary independently. The Cascading Bridge takes this one step further by splitting the implementation itself into several pieces. This allows the implementation to be represented as multiple separate components instead of one monolithic one. In theory, this should decouple the system further, resulting in code that is portable, interchangeable, and testable. The Cascading Bridge can also be used to isolate components of the implementation that are likely to be changed at a later time. C a s c a d i n g B r i d g e – P a g e 2 UML From Dr. White’s Bridge Pattern Slides

The Cascading Bridge Pattern Traditional The abstraction here functions identically to the abstraction in the traditional Bridge pattern. When a message is passed from the abstraction to the implementation, it is passed from implementor to implementor until it reaches the end of the chain. C a s c a d i n g B r i d g e – P a g e 3

This version is used when the number or order of the implementors is not known in advance or could vary. Each non-terminal implementor contains a recursive pointer back to its parent class. C a s c a d i n g B r i d g e – P a g e 4 The Cascading Bridge Pattern Folded

Real-World Application The folded variation of the pattern is used here as any number of hand actions may be needed in any order before the terminal condition is met. C a s c a d i n g B r i d g e – P a g e 5

Pattern Analysis I have mixed feelings about the applicability of this pattern in real-world software. Certainly coding in this fashion promotes loose coupling, good software design, and comes with all the advantages therein. However, there were many points in the author’s paper where it sounded as if he was just describing several other patterns layered together. I can see where the concepts he discusses are useful, sound, programming advice, but I don’t know that they warrant their own pattern. An internet search would seem to back up this opinion, as the paper is 11 years old and the only mentions of this pattern anywhere are the syllabus for this class, and links to this paper itself. Overall, I would say that this paper reads more like a best practices document on how to use some of the patterns in conjunction rather than a new, original pattern. C a s c a d i n g B r i d g e – P a g e 6