Tooled Composite Design Pattern

T
Tooled Composite  Design Pattern Presentation by Andy Bulka CTO Austhink Software [email_address]
What is this about? ,[object Object]
By GOF author John Vlissides http://www.research.ibm.com/designpatterns/pubs/ph-sep99.pdf
The Problem
“ direct manipulation” metaphor. ,[object Object],[object Object],[object Object],[object Object]
Representing shapes COMPOSITE – design pattern
Representing “Tools” ,[object Object],[object Object],[object Object],[object Object]
Representing “Tools” STATE  – design pattern
How tools and shapes interact ,[object Object],[object Object],[object Object]
Visitor
Visitor ,[object Object],[object Object]
Example Sequence ,[object Object],[object Object],[object Object],ToolHover -------------- VisitShape()   cursor = HAND VisitEdge()   cursor = ARROW
Example Sequence continued ,[object Object],[object Object],[object Object],[object Object]
RTTI as  alternative to Visitor ,[object Object],[object Object],ToolHover -------------- Visit()   if target == Shape  // use of RTTI …   else if target == Edge   …..  ToolHover -------------- VisitShape()   … VisitEdge()   ...
RTTI as  alternative to Visitor ,[object Object],[object Object],[object Object]
Events ,[object Object],[object Object],Classic STATE pattern, passing through method invocations to the current state object
Tooled Composite pattern Rewire events as you swap tools SwapTool(tool)
Event Handling ,[object Object],[object Object]
State Pattern – switching state Notice calls to “SetTool”
Prototype Pattern ,[object Object],[object Object],[object Object]
Command Pattern ,[object Object],[object Object]
Final Pattern
Reflections ,[object Object],[object Object]
Reflections ,[object Object]
1 of 24

Recommended

Tooled Composite Design Pattern Andy by
Tooled Composite Design Pattern   AndyTooled Composite Design Pattern   Andy
Tooled Composite Design Pattern Andymelbournepatterns
335 views21 slides
VensimPLE Quick Reference and Tutorial by
VensimPLE Quick Reference and TutorialVensimPLE Quick Reference and Tutorial
VensimPLE Quick Reference and Tutorialjiali zhang
1.4K views23 slides
Plan601 e session 3 demo by
Plan601 e session 3 demoPlan601 e session 3 demo
Plan601 e session 3 demorkottam
600 views48 slides
Belona bedrukte linerless labels voor duurzaamheid by
Belona bedrukte linerless labels voor duurzaamheidBelona bedrukte linerless labels voor duurzaamheid
Belona bedrukte linerless labels voor duurzaamheidJorrit Reedijk
1.9K views18 slides
Andy Bulka Pattern Automation by
Andy Bulka Pattern AutomationAndy Bulka Pattern Automation
Andy Bulka Pattern Automationtcab22
236 views10 slides
Belona Linerless Labels - technische opbouw by
Belona Linerless Labels - technische opbouwBelona Linerless Labels - technische opbouw
Belona Linerless Labels - technische opbouwJorrit Reedijk
886 views5 slides

More Related Content

Viewers also liked

Starlogic Framework by
Starlogic FrameworkStarlogic Framework
Starlogic FrameworkJorrit Reedijk
292 views32 slides
Lifetime by
LifetimeLifetime
Lifetimeakmyousuf1
124 views16 slides
Starlogic Framework by
Starlogic FrameworkStarlogic Framework
Starlogic FrameworkJorrit Reedijk
366 views27 slides
Xin (Crossroads) by
Xin (Crossroads)Xin (Crossroads)
Xin (Crossroads)Xin Gu
634 views26 slides
BCIX Roundtable 2009 presentation by
BCIX Roundtable 2009 presentationBCIX Roundtable 2009 presentation
BCIX Roundtable 2009 presentationBCIX e.V.
462 views13 slides
Bcix Round Table November 2009 by
Bcix Round Table November 2009Bcix Round Table November 2009
Bcix Round Table November 2009BCIX e.V.
598 views11 slides

Viewers also liked(12)

Xin (Crossroads) by Xin Gu
Xin (Crossroads)Xin (Crossroads)
Xin (Crossroads)
Xin Gu634 views
BCIX Roundtable 2009 presentation by BCIX e.V.
BCIX Roundtable 2009 presentationBCIX Roundtable 2009 presentation
BCIX Roundtable 2009 presentation
BCIX e.V.462 views
Bcix Round Table November 2009 by BCIX e.V.
Bcix Round Table November 2009Bcix Round Table November 2009
Bcix Round Table November 2009
BCIX e.V.598 views
Representing Design Patterns In Uml Andy Bulka Oct2006 by tcab22
Representing Design Patterns In Uml Andy Bulka Oct2006Representing Design Patterns In Uml Andy Bulka Oct2006
Representing Design Patterns In Uml Andy Bulka Oct2006
tcab22951 views
Oracle Streams by smabidazam
Oracle StreamsOracle Streams
Oracle Streams
smabidazam842 views
Web 2 by dunnk
Web 2Web 2
Web 2
dunnk961 views
Null Object Design Pattern by tcab22
Null Object Design PatternNull Object Design Pattern
Null Object Design Pattern
tcab221K views
Blackboard Pattern by tcab22
Blackboard PatternBlackboard Pattern
Blackboard Pattern
tcab2217.8K views
Social Media (SMO) & SEO Interaction by Jose Nunez
Social Media (SMO) & SEO InteractionSocial Media (SMO) & SEO Interaction
Social Media (SMO) & SEO Interaction
Jose Nunez1.5K views

Similar to Tooled Composite Design Pattern

Model Based Development For 3 D User Interfaces by
Model Based Development For 3 D User InterfacesModel Based Development For 3 D User Interfaces
Model Based Development For 3 D User InterfacesJuan Manuel Gonzalez Calleros
545 views56 slides
Responsive Web Design and touch devices by
Responsive Web Design and touch devicesResponsive Web Design and touch devices
Responsive Web Design and touch devicesJohn Tsevdos
1.1K views36 slides
Flash Lite & Touch: build an iPhone-like dynamic list by
Flash Lite & Touch: build an iPhone-like dynamic listFlash Lite & Touch: build an iPhone-like dynamic list
Flash Lite & Touch: build an iPhone-like dynamic listSmall Screen Design
1.1K views20 slides
Multi Touch And Gesture Event Interface And Types by
Multi Touch And Gesture Event Interface And TypesMulti Touch And Gesture Event Interface And Types
Multi Touch And Gesture Event Interface And TypesEthan Cha
5.4K views30 slides
Thinking Through Visualization Tools by
Thinking Through Visualization ToolsThinking Through Visualization Tools
Thinking Through Visualization ToolsSam Pottinger
24 views16 slides
Design Patterns By Sisimon Soman by
Design Patterns By Sisimon SomanDesign Patterns By Sisimon Soman
Design Patterns By Sisimon SomanSisimon Soman
412 views25 slides

Similar to Tooled Composite Design Pattern(20)

Responsive Web Design and touch devices by John Tsevdos
Responsive Web Design and touch devicesResponsive Web Design and touch devices
Responsive Web Design and touch devices
John Tsevdos1.1K views
Flash Lite & Touch: build an iPhone-like dynamic list by Small Screen Design
Flash Lite & Touch: build an iPhone-like dynamic listFlash Lite & Touch: build an iPhone-like dynamic list
Flash Lite & Touch: build an iPhone-like dynamic list
Small Screen Design1.1K views
Multi Touch And Gesture Event Interface And Types by Ethan Cha
Multi Touch And Gesture Event Interface And TypesMulti Touch And Gesture Event Interface And Types
Multi Touch And Gesture Event Interface And Types
Ethan Cha5.4K views
Thinking Through Visualization Tools by Sam Pottinger
Thinking Through Visualization ToolsThinking Through Visualization Tools
Thinking Through Visualization Tools
Sam Pottinger24 views
Design Patterns By Sisimon Soman by Sisimon Soman
Design Patterns By Sisimon SomanDesign Patterns By Sisimon Soman
Design Patterns By Sisimon Soman
Sisimon Soman412 views
06 win forms by mrjw
06 win forms06 win forms
06 win forms
mrjw971 views
Fast multi touch enabled web sites by Aspenware
Fast multi touch enabled web sitesFast multi touch enabled web sites
Fast multi touch enabled web sites
Aspenware1.4K views
Tips for building fast multi touch enabled web sites by Aspenware
 Tips for building fast multi touch enabled web sites Tips for building fast multi touch enabled web sites
Tips for building fast multi touch enabled web sites
Aspenware2.5K views
The A to Z of Adobe Illustrator – design & illustration by Fanus van Straten
The A to Z of Adobe Illustrator – design & illustrationThe A to Z of Adobe Illustrator – design & illustration
The A to Z of Adobe Illustrator – design & illustration
Fanus van Straten6.6K views
"Android" mobilių programėlių kūrimo įvadas #2 by Tadas Jurelevičius
"Android" mobilių programėlių kūrimo įvadas #2"Android" mobilių programėlių kūrimo įvadas #2
"Android" mobilių programėlių kūrimo įvadas #2
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li... by Patrick Lauke
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...
Patrick Lauke436 views
Advance ui development and design by Rakesh Jha
Advance ui  development and design Advance ui  development and design
Advance ui development and design
Rakesh Jha1.1K views
Pointing, selecting, manipulation jing & quincy by Jing Chen
Pointing, selecting, manipulation jing & quincyPointing, selecting, manipulation jing & quincy
Pointing, selecting, manipulation jing & quincy
Jing Chen584 views

Recently uploaded

The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
69 views20 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
179 views7 slides
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITShapeBlue
166 views8 slides
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPoolShapeBlue
84 views10 slides
NTGapps NTG LowCode Platform by
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
365 views30 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
123 views28 slides

Recently uploaded(20)

The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE69 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue179 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue166 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue84 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu365 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue123 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue144 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue103 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays53 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue158 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty62 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue210 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue138 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue85 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue79 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue132 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue146 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views

Tooled Composite Design Pattern