ITTF Object Communication Mike Miller Yale University.

Slides:



Advertisements
Similar presentations
Welcome to. Who am I? A better way to code Design Patterns ???  What are design patterns?  How many are there?  How do I use them?  When do I use.
Advertisements

Lecture 12 Observer Pattern UML Class Diagrams (repetition) Use Case Diagrams Sequence Diagrams Statechart Diagrams.
 Recent researches show that predicative programming can be used to specify OO concepts including classes, objects, interfaces, methods, single and multiple.
The Observer Pattern SE-2811 Dr. Mark L. Hornick 1.
Observer Method 1. References Gamma Erich, Helm Richard, “Design Patterns: Elements of Reusable Object- Oriented Software” 2.
Design Patterns CMPS Design Patterns Consider previous solutions to problems similar to any new problem ▫ must have some characteristics in common.
CS 211 Inheritance AAA.
March Ron McFadyen1 Design Patterns In software engineering, a design pattern is a generally repeatable solution to a commonly-occurring problem.
MVC Nick Lopez Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
Paper Discussion: “Simultaneous Localization and Environmental Mapping with a Sensor Network”, Marinakis et. al. ICRA 2011.
Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design.
Observer Pattern Fall 2005 OOPD John Anthony. What is a Pattern? “Each pattern describes a problem which occurs over and over again in our environment,
Observer Pattern Tu Nguyen. General Purpose When one object changes state, all the dependent objects are notified and updated. Allows for consistency.
The Observer Pattern. Formal Definition Define a one-to-many dependency between objects so that when one object changes state, all its dependents are.
March Ron McFadyen1 Design Patterns In software engineering, a design pattern is a generally repeatable solution to a commonly-occurring problem.
Exam Questions Chain of Responsibility & Singleton Patterns Game Design Experience Professor Jim Whitehead February 4, 2009 Creative Commons Attribution.
Chapter 3.4 Programming Fundamentals. 2 Data Structures Arrays – Elements are adjacent in memory (great cache consistency) – They never grow or get reallocated.
1 Observer Design Pattern By Eric Perret Pages in Applying UML and Patterns.
Behavioral Patterns  Behavioral patterns are patterns whose purpose is to facilitate the work of algorithmic calculations and communication between classes.
BDP Behavioral Pattern. BDP-2 Behavioral Patters Concerned with algorithms & assignment of responsibilities Patterns of Communication between Objects.
Design Patterns. Now you are ready for Design Patterns Design patterns are recurring solutions to software design problems you find again and again in.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Design Pattern. The Observer Pattern The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Behavioral Pattern: Observer C h a p t e r 5 – P a g e 186 A large monolithic design does not scale well as additional graphical and monitoring requirements.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
Object Oriented Software Engineering Chapter 16 and 17 review 2014/06/03.
Observer Please Snarf the Code for Today’s Class..
July 28, 2015IAT 2651 Design Patterns. “Gang of Four” July 28, 2015IAT 2652.
Chapter 18 The Observer Pattern Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
Design Patterns. OO-Concepts Don’t rewrite code Encapsulation Inheritance Write flexible code.
Programmeerimine Delphi keskkonnas MTAT Programmeerimine Delphi keskkonnas MTAT Jelena Zaitseva
Observer Design Pattern
V ERSION CONSISTENCY IMPLEMENTATION. C ONTENTS Apache Tuscany VcContainer Domain manager VcContainer communication 2.
CSE 332: Design Patterns Review: Design Pattern Structure A design pattern has a name –So when someone says “Adapter” you know what they mean –So you can.
Manali Joshi1 The Observer Design Pattern Presented By: Manali Joshi.
Design Patterns David Talby. This Lecture Re-routing method calls Chain of Responsibility Coding partial algorithms Template Method The Singleton Pattern.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
Java Design Patterns Java Design Patterns. What are design patterns? the best solution for a recurring problem a technique for making code more flexible.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
Implementation Highlights Mike Miller Yale University.
1 CSE 331 Model/View Separation and Observer Pattern slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia.
ExtJS Events By Aaron Conran. Events Events describe when a certain action happens. This could be a user action, a response to an Ajax call, etc. Events.
L10: Model-View-Controller General application structure. User Interface: Role, Requirements, Problems Design patterns: Model – View – Controller, Observer/Observable.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
Ted Faison - GSAW Indefinitely Evolvable Architectures: Event-Based Systems Ted Faison Faison Computing Inc.
Observer Pattern Keeping An Eye on Things Need to introduce observer pattern formally first, include book definition & design principle Keeping An Eye.
OBSERVER PATTERN OBSERVER PATTERN Presented By Presented By Ajeet Tripathi ISE
The Observer Design Pattern Author :Erich Gamma, et al. Source :Elements of Reusable Object-Oriented Software Speaker : Chiao-Ping Chang Advisor : Ku-Yaw.
February 23, 2009Observer Pattern, OOA&D, Rubal Gupta, CSPP, Winter ‘09 Observer Pattern Defines a “one-to-many” dependency between objects so that when.
A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions By Prechelt, Unger, Tichy, Brössler, and Votta Presentation by Chris.
Generator Design Patterns: Singleton and Prototype
Introduction to Design Patterns
Observer Design Pattern
MVC and Design Patterns
Design Patterns Part 1: Observer, Singleton, & Adapter
OUTLINE Basic ideas of traditional retrieval systems
Presented by Igor Ivković
Design Patterns in Game Design
Model-View-Controller (MVC) Pattern
Patterns.
PI Control for Nonlinear System with Application to a Converter Module
أنماط الإدارة المدرسية وتفويض السلطة الدكتور أشرف الصايغ
Observer Pattern 1.
Free and open to the public.
Review: Design Pattern Structure
Design pattern Lecture 9.
Presented by Igor Ivković
Presentation transcript:

ITTF Object Communication Mike Miller Yale University

Outline Introduce StiIOBroker Introduce Observer/Subscriber Pattern List objects that communicate via Observer/Subscriber

StiIOBroker Goal: centralize all dynamic parameters in one place class StiIOBroker –Abstract class to define get/set methods –Singleton class StiRootIOBroker : public StiIOBroker –Available at the root prompt –Currently used to pass info at the macro level class StiMySqlIOBroker : public StiIOBroker –Not yet implemented

Subject/Observer Pattern (I) a=50 b=30 c=20 Subject Observer requestsnotification Define a one to many relationship Guarantee dynamic propagation of information

Subject/Observer Pattern (II) class Subscriber { public: add(Observer*); detach(Observer*); notify(); private: vector mVec; }; class Observer { public: update(Subject*)=0; private: Subject* mSubject; }; Simply derive from these classes and dynamic updates are guaranteed!

ITTF Object Communication Observer StiKalmanTrackFinder Observer StiTrackSeedFinder Observer StiTrackFilter Observer StiTrackMerger Subject StiIOBroker

Conclusions StiIOBroker defines the only entrance for run-time parameters Update of StiMySqlBroker in StiMaker::InitRun() will fully propagate through the entire object structure