SlideShare a Scribd company logo
Madhu Samuel  |  eclipseBible.com Patterns  in  Eclipse
Pattern Recognition Machine Brain  
Patterns of Sound Waves
Our Craft Software  Development
Problem!
What is the one constant  in  Software Development?
Change!
Patterns “ A proven way of  solving a problem” Solution
Motivation for Patterns “ Separate things that change from things that stay the same”
Inheritance  –  “is a” Car Maruti Zen Tata Indica
Composition  –  “has a” Car Steering Wheel
Goal Loosely Coupled Systems
Patterns Creational Structural Behavioral Creational
Creational Patterns To isolate  object creation  from the rest of the application.
Structural Patterns To realize the  relationship between objects .
Behavioral Patterns To realize the  communication between objects .
Patterns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Singleton   Pattern in Platform Services
[object Object],[object Object]
[object Object],[object Object]
Observer   Pattern in Workspace Listener
Subject Observer - 1 Observer - 2 Observer - n “ When the subject’s state changes, the subject notifies all the observers about the event” notifies
[object Object],[object Object],IWorkspace ,[object Object],IResourceChangeListener Sample_Observer Subject Observers ,[object Object],[object Object],IWorkspace
Strategy Pattern &  Viewers
TableViewer Requirement  :  Add Sort Behavior ,[object Object]
TableViewer Requirement  :  Add  Multiple   Sort Behavior ,[object Object],TableViewerAlphaSort ,[object Object],TableViewerNumberSort ,[object Object]
“ Strategy  - Customize an object without subclassing” ,[object Object],TableViewer ,[object Object],ViewerSorter ViewerAlphaSorter ,[object Object],ViewerNumberSorter ,[object Object]
“ Strategy pattern allows to change the behavior at runtime.”
Composite   Pattern in SWT
“ Objects are grouped in a tree structure using  Composition ” CheckBox Shell Group RadioButton
Widget Control Label Button abstract Button Composite 0..* Shell shell =  new  Shell(); new  Button(shell,  SWT. NONE ); getChildren()
Proxy   Pattern in Eclipse File System
Dictionary a person autorized to act for another OOP   an  Object  autorized to act for another Eclipse “ IFile”  is autorized to act for  “ file system” Proxy
IFile FileSystem
[object Object],[object Object],[object Object],[object Object],The proxy objects ( Handles ),
[object Object],[object Object],[object Object],[object Object],Handle Characteristics
IFile File API Non-API Proxy!
You can navigate the tree of files in  NO time! Advantage :
Visitor   Pattern in Workspace Traversal
IProject IFolder IFile
[object Object],IProject ,[object Object],IFolder ,[object Object],IFile OR!
Visitor Pattern “ Add a new operation to a structure of objects, without changing the objects”
IProject IFolder IFolder IFile IFile IFile Visitor
[object Object],[object Object]
[object Object],IResource ,[object Object],IResourceVisitor ElementTree ElementTreeIterator
Memento   Pattern & Workbench State
“ Without violating encapsulation, Save an object’s internal state to restore later” ,[object Object],[object Object],WorkBench IMemento
IAdaptable
IFile
IFile IPropertySource Non-UI UI IFile IFile IFile IPropertySource IFile
1. How to add IPropertySource to IFile without exposing it in the type? 2. How to add new behavior to IFile?
Extension Object Pattern “ Extension object lets you add interfaces to a class”
IAdaptable getAdapter(Class adapter); IFile
public   interface   IAdaptable  { public  Object  getAdapter ( class  adapter); } ( IPropertySource ) file. getAdapter ( IPropertySource . class ); IPropertySource   propertySource =
IAdaptable getAdapter(Class adapter); IFile AdapterManager adapter AdapterFactory 0..*
Object getAdatper(Object object, class adapter) { if(adapter.equals(IPropertySource.class) { return new FilePropertySource ((IFile)object);   } }
Done!
Eclipse  Training ,[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced - Training ,[object Object],[object Object],[object Object],[object Object]
EclipseBible.com - Beta!
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Questions ?
Notice   You can use these slides only for  Not-For-Profit  purposes.
My Contact  [email_address]
 

More Related Content

What's hot

Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureLuqman Shareef
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Nguyen Tung
 
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...
Edureka!
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
Alan Christensen
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
Amazon Web Services
 
Mucon 2019: OOps I DDD it again and again
Mucon 2019: OOps I DDD it again and againMucon 2019: OOps I DDD it again and again
Mucon 2019: OOps I DDD it again and again
Ora Egozi-Barzilai
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubEnterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
RichardNowack
 
Solution Architecture
Solution ArchitectureSolution Architecture
Solution Architecture
FirmansyahIrma1
 
Event-driven Architecture
Event-driven ArchitectureEvent-driven Architecture
Event-driven Architecture
Centric Consulting
 
Microservices
MicroservicesMicroservices
Microservices
SmartBear
 
Cloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibmCloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibmRichard Kuo
 
Freshdesk- Customer Support Software
Freshdesk- Customer Support SoftwareFreshdesk- Customer Support Software
Freshdesk- Customer Support Software
Digi InfoFabrica
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Richard Langlois P. Eng.
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
Matt McLarty
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
Stefan Norberg
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.
Alexander Feschenko
 
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Eason Kuo
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
Microsoft Azure
 

What's hot (20)

Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Mucon 2019: OOps I DDD it again and again
Mucon 2019: OOps I DDD it again and againMucon 2019: OOps I DDD it again and again
Mucon 2019: OOps I DDD it again and again
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubEnterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
 
Solution Architecture
Solution ArchitectureSolution Architecture
Solution Architecture
 
Event-driven Architecture
Event-driven ArchitectureEvent-driven Architecture
Event-driven Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Cloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibmCloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibm
 
Enterprise Applications on AWS
Enterprise Applications on AWSEnterprise Applications on AWS
Enterprise Applications on AWS
 
Freshdesk- Customer Support Software
Freshdesk- Customer Support SoftwareFreshdesk- Customer Support Software
Freshdesk- Customer Support Software
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.
 
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
Implementing Domain-Driven Design (Study Group) Chapter 3 - Context Maps
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
 

Viewers also liked

Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBMEclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
mfrancis
 
ÉTICA PROFESIONAL
ÉTICA PROFESIONALÉTICA PROFESIONAL
ÉTICA PROFESIONAL
Juan pablo Peñuela
 
Laura Huser's Design Portf
Laura Huser's Design PortfLaura Huser's Design Portf
Laura Huser's Design Portflaura_huser
 
9th grade dance flyer
9th grade dance flyer9th grade dance flyer
9th grade dance flyer
Cody Mims
 
Isabelle Coudere - Interior designer - Portfolio - Book
Isabelle Coudere - Interior designer - Portfolio - BookIsabelle Coudere - Interior designer - Portfolio - Book
Isabelle Coudere - Interior designer - Portfolio - Book
Isabelle Coudere
 
Afifeh Halabi Editorial Design Portfolio
Afifeh Halabi Editorial Design PortfolioAfifeh Halabi Editorial Design Portfolio
Afifeh Halabi Editorial Design Portfolio
Afifeh Halabi
 
Gramática
GramáticaGramática
Estructuras de datos
Estructuras de datos Estructuras de datos
Estructuras de datos
Roimer Guape
 
Bases de datos de informacion y documentación en internet
Bases de datos de informacion y documentación en internetBases de datos de informacion y documentación en internet
Bases de datos de informacion y documentación en internet
Juan pablo Peñuela
 
Portfolio – black and white images
Portfolio – black and white imagesPortfolio – black and white images
Portfolio – black and white images
Benilda Beretta
 
Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling FrameworkAjay K
 
Impact of platformization on your business processes and ERP Landscape
Impact of platformization on your business processes and ERP LandscapeImpact of platformization on your business processes and ERP Landscape
Impact of platformization on your business processes and ERP Landscape
Jos Feyaerts
 
Sydney Sales Corporation - Introduction
Sydney Sales Corporation - IntroductionSydney Sales Corporation - Introduction
Sydney Sales Corporation - IntroductionAbhay K
 
Elizabethan Duelling
Elizabethan DuellingElizabethan Duelling
Elizabethan Duelling
Harry0Flight
 
Colon cancer
Colon cancerColon cancer
Colon cancer
Harry0Flight
 
Microsoft Word - 2_E_N_238
Microsoft Word - 2_E_N_238Microsoft Word - 2_E_N_238
Microsoft Word - 2_E_N_238Longchrea NEAK
 
Design Portfolio
Design Portfolio Design Portfolio
Design Portfolio
Amir Khella
 
Interior Design Portfolio.
Interior Design Portfolio.Interior Design Portfolio.
Interior Design Portfolio.
Erica Brown
 

Viewers also liked (20)

Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBMEclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
 
ÉTICA PROFESIONAL
ÉTICA PROFESIONALÉTICA PROFESIONAL
ÉTICA PROFESIONAL
 
academic and proof
academic and proofacademic and proof
academic and proof
 
Laura Huser's Design Portf
Laura Huser's Design PortfLaura Huser's Design Portf
Laura Huser's Design Portf
 
REA13_PREVIEW_Final
REA13_PREVIEW_FinalREA13_PREVIEW_Final
REA13_PREVIEW_Final
 
9th grade dance flyer
9th grade dance flyer9th grade dance flyer
9th grade dance flyer
 
Isabelle Coudere - Interior designer - Portfolio - Book
Isabelle Coudere - Interior designer - Portfolio - BookIsabelle Coudere - Interior designer - Portfolio - Book
Isabelle Coudere - Interior designer - Portfolio - Book
 
Afifeh Halabi Editorial Design Portfolio
Afifeh Halabi Editorial Design PortfolioAfifeh Halabi Editorial Design Portfolio
Afifeh Halabi Editorial Design Portfolio
 
Gramática
GramáticaGramática
Gramática
 
Estructuras de datos
Estructuras de datos Estructuras de datos
Estructuras de datos
 
Bases de datos de informacion y documentación en internet
Bases de datos de informacion y documentación en internetBases de datos de informacion y documentación en internet
Bases de datos de informacion y documentación en internet
 
Portfolio – black and white images
Portfolio – black and white imagesPortfolio – black and white images
Portfolio – black and white images
 
Eclipse Modeling Framework
Eclipse Modeling FrameworkEclipse Modeling Framework
Eclipse Modeling Framework
 
Impact of platformization on your business processes and ERP Landscape
Impact of platformization on your business processes and ERP LandscapeImpact of platformization on your business processes and ERP Landscape
Impact of platformization on your business processes and ERP Landscape
 
Sydney Sales Corporation - Introduction
Sydney Sales Corporation - IntroductionSydney Sales Corporation - Introduction
Sydney Sales Corporation - Introduction
 
Elizabethan Duelling
Elizabethan DuellingElizabethan Duelling
Elizabethan Duelling
 
Colon cancer
Colon cancerColon cancer
Colon cancer
 
Microsoft Word - 2_E_N_238
Microsoft Word - 2_E_N_238Microsoft Word - 2_E_N_238
Microsoft Word - 2_E_N_238
 
Design Portfolio
Design Portfolio Design Portfolio
Design Portfolio
 
Interior Design Portfolio.
Interior Design Portfolio.Interior Design Portfolio.
Interior Design Portfolio.
 

Similar to Patterns in Eclipse

Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsJump Start To Ooad And Design Patterns
Jump Start To Ooad And Design Patterns
Lalit Kale
 
Jump start to OOP, OOAD, and Design Pattern
Jump start to OOP, OOAD, and Design PatternJump start to OOP, OOAD, and Design Pattern
Jump start to OOP, OOAD, and Design Pattern
Nishith Shukla
 
EMF Tips n Tricks
EMF Tips n TricksEMF Tips n Tricks
EMF Tips n Tricks
Kaniska Mandal
 
Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...Shakir Majeed Khan
 
Application Frameworks: The new kids on the block
Application Frameworks: The new kids on the blockApplication Frameworks: The new kids on the block
Application Frameworks: The new kids on the block
Richard Lord
 
Intro to Core Data
Intro to Core DataIntro to Core Data
Intro to Core Data
Make School
 
Automation patterns on practice
Automation patterns on practiceAutomation patterns on practice
Automation patterns on practice
automated-testing.info
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
Collaboration Technologies
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
Raveendra R
 
L0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsL0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard Views
Tonny Madsen
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integrationjiali zhang
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integrationjiali zhang
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworks
MD Sayem Ahmed
 
Hibernate
HibernateHibernate
Hibernate
HibernateHibernate
Backbone js
Backbone jsBackbone js
Backbone js
Knoldus Inc.
 

Similar to Patterns in Eclipse (20)

Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsJump Start To Ooad And Design Patterns
Jump Start To Ooad And Design Patterns
 
Jump start to OOP, OOAD, and Design Pattern
Jump start to OOP, OOAD, and Design PatternJump start to OOP, OOAD, and Design Pattern
Jump start to OOP, OOAD, and Design Pattern
 
EMF Tips n Tricks
EMF Tips n TricksEMF Tips n Tricks
EMF Tips n Tricks
 
Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...
 
Application Frameworks: The new kids on the block
Application Frameworks: The new kids on the blockApplication Frameworks: The new kids on the block
Application Frameworks: The new kids on the block
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 
Real World MVC
Real World MVCReal World MVC
Real World MVC
 
Intro to Core Data
Intro to Core DataIntro to Core Data
Intro to Core Data
 
Automation patterns on practice
Automation patterns on practiceAutomation patterns on practice
Automation patterns on practice
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
 
L0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsL0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard Views
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integration
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integration
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworks
 
Javascript talk
Javascript talkJavascript talk
Javascript talk
 
Hibernate
HibernateHibernate
Hibernate
 
Hibernate
HibernateHibernate
Hibernate
 
Backbone js
Backbone jsBackbone js
Backbone js
 
Bean Intro
Bean IntroBean Intro
Bean Intro
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 

Patterns in Eclipse

Editor's Notes

  1. Show the bad code example.
  2. The common form of pattern we see is Inheritance and composition.
  3. The common form of pattern we see is Inheritance and composition.
  4. All the objects communicate with each other using composition. And we define the structure of objects using inheritance. These two mechanisms are used to created loosely coupled systems. So that the changes in one area of the software will not propagate to the other areas.
  5. How to structure your objects to get the best yield out of it.
  6. Question – How manyof you believe that I will be able to cover all these patterns in next 40 mins? (4 mins for each pattern).
  7. The singleton pattern ensures that a class has only one instance and provides a global point of access to it.
  8. Code Walkthrough Singleton pattern ensures only one instance of a class exists. One global point of access. Prevent creation of multiple instances.
  9. Code Walkthrough Singleton pattern ensures only one instance of a class exists. One global point of access. Prevent creation of multiple instances.
  10. Right now, all of you are the observers, and I am the subject. You people are watching me. Ie, a 100 observers are watching one subject. This is the concept of Observer Pattern.
  11. Resources in the workspace can change either as a result of manipulating them inside eclipse or from changes from the local file system. (if time is there, include NotificationManager)
  12. This kind of design is not scalable, as the no: of sort behaviour increases, you need to increase the sub classes. Moreover, design principles says to ‘favour composition over inheritance’. Your table viewer changes when ever a new sort mechanism is added. Soln – Move the sorting logic out of table viewer.
  13. You have a treeViewer or TableViewer and you want to add behaviours like sorting and filtering to the viewer. One way to add behavior is to subclass the viewer like ‘SortedTableViewer’ or ‘FilteredTableViewer’. But this will just add to the complexity. The solution is implemented using the strategy pattern. Strategy pattern allows you to customize the behavior of an object without subclassing.
  14. A proxy is a class functioning as an interface to another class. We need a proxy b’cos access the file directly from file system is an expensive affair. And IFile represents an in-memory represenation on a file.
  15. IFile implementation knows only the path to the resource.
  16. Clients need a way track to the resources in the file system. These can be files or folders. The files can change over its life time. Files can be created, modified or deleted. Eclipse gives a handle to the resouce, not the actual resource in the file system. This design is achieved using the Proxy and Bridge patterns. We will see only th proxy pattern here.
  17. VO – once created none of their fields change.
  18. You can naigate the tree of files in almost no time. When yo use the file system you have to make many queries to the undelying OS.
  19. The filter method is added in a visitor object. The visitor object traverses through the tree.
  20. Explain all four classes. Show the elementTree in eclipse.
  21. StandardPropertiesAdapterFactory
  22. Details training session on pattersn – where the design patterns are explored and usecases are taken from eclipse.