SlideShare a Scribd company logo
1 of 20
Agile Domain Driven DevelopmentGenuin Objects x. x. 2009 Genuin Object principles
Page 2 2008-01-11 Agenda Agile process and its variations Object-Oriented paradigm its meaning is complexity management 3-layer architecture and code generation Abstract Domain Driven Development
Agile development  Counterstrick to waterfall design
OO paradigm Complete world view
Page 5 2008-01-11 Logical 2-tier achtitecture application GUI Same functionality Is implemented almost the same way many times (aprox. repetition~ 10 ) Explotion of complexity RelaatioTK ,[object Object],liiketoiminta sovellustoiminta
Application Objects Persistent Objects GUI Business Objects Logical 3-tier structure of application
Page 7 2008-01-11 Restaurant class diagram
Page 8 2008-01-11 Restaurant collaboration diagram
Page 9 2008-01-11 Why collaboration is simpler Functional decomposition Object collaboration A D Trick  A1 Trick A2 Trick D1 Trick D2 B C Trick B1 Trick B2 Trick C1 Trick C2 A D B C Two layer encapsulated and collaborative complexity Flat layer connection complexity
Page 10 2008-01-11 Combining ER- and process models OO-model Two separate model higly difficult to combine ER - model Process model
Page 11 2008-01-11 The overall viewpoint is dominative in nature   OO viewpoin leads to collaborative  agent solution  Functional decomposition lead to timebase functiona decomposition and 2- layer soultions Paradigm principle of Object Orientation These approaches are mutually exclusive and  can not be combined by their very paradigm nature
Abstract model and 3-tiear solutuions More controle of complexity
Page 13 2008-01-11 Abrstract model – intersection of business dimensions
Page 14 2008-01-11 Close (almost one-to-one) correlation with reality (simulation model) => easy to understand and verify  Multy layer encapsulation bring order to chaos=> object encapsulation collapses complexity Inheritance expands possibilities=>representation several abstraction levels in one model The net result: the overall complexity of the model drops to square root or cubic root of the original Priorities of Object-Oriented principles
Abstract Domain Driven Development
Page 16 2008-01-11 Explotion of complexity definition design implementation Domain  implemenstation Application additions Abstract domain modeling Comparison between agile and waterfall project principal  Waterfall implementation definition design Tradition agile Agile model driven developmet
small big semantic content abstraction level high low amount of semantics The paradox of abstraction
Agility with model reality Development process Abstract core model 5 -15 dyas Design Implementations
GUI Application Objects Business Objects Persistent Objects Business objective 1 Abstract domain model Business processes Workflows 3 Use cases Implementation 2 4 Implementation Development process
GUI Application Objects Business Objects Persistent Objects Generate 100% 10% 80 % Development process

More Related Content

Viewers also liked

創意變化1
創意變化1創意變化1
創意變化1elti
 
Domain Driven Design Thoughts Mat Holroyd
Domain Driven Design Thoughts   Mat HolroydDomain Driven Design Thoughts   Mat Holroyd
Domain Driven Design Thoughts Mat Holroydmelbournepatterns
 
Database Refactoring Sreeni Ananthakrishna 2006 Nov
Database Refactoring Sreeni Ananthakrishna 2006 NovDatabase Refactoring Sreeni Ananthakrishna 2006 Nov
Database Refactoring Sreeni Ananthakrishna 2006 Novmelbournepatterns
 
Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610melbournepatterns
 
Domain Driven Design Mat Holroyd
Domain Driven Design   Mat HolroydDomain Driven Design   Mat Holroyd
Domain Driven Design Mat Holroydmelbournepatterns
 

Viewers also liked (7)

創意變化1
創意變化1創意變化1
創意變化1
 
Domain Driven Design Thoughts Mat Holroyd
Domain Driven Design Thoughts   Mat HolroydDomain Driven Design Thoughts   Mat Holroyd
Domain Driven Design Thoughts Mat Holroyd
 
Database Refactoring Sreeni Ananthakrishna 2006 Nov
Database Refactoring Sreeni Ananthakrishna 2006 NovDatabase Refactoring Sreeni Ananthakrishna 2006 Nov
Database Refactoring Sreeni Ananthakrishna 2006 Nov
 
Paul Viiding
Paul ViidingPaul Viiding
Paul Viiding
 
Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610
 
Uml2 David Kemp 20060716
Uml2 David Kemp 20060716Uml2 David Kemp 20060716
Uml2 David Kemp 20060716
 
Domain Driven Design Mat Holroyd
Domain Driven Design   Mat HolroydDomain Driven Design   Mat Holroyd
Domain Driven Design Mat Holroyd
 

Similar to Agile DDD Genuin Objects

ASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docx
ASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docxASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docx
ASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docxadkinspaige22
 
Hexagonal Architecture using Grails
Hexagonal Architecture using GrailsHexagonal Architecture using Grails
Hexagonal Architecture using GrailsDavid Dawson
 
Comments on Simulations Partners.pdf
Comments on Simulations Partners.pdfComments on Simulations Partners.pdf
Comments on Simulations Partners.pdfBrij Consulting, LLC
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework EngineeringYoungSu Son
 
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Tonny Madsen
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseDell World
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 
J2ee connector architecture
J2ee connector architectureJ2ee connector architecture
J2ee connector architectureSubhasis Nayak
 
Visualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinarVisualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinarRoss Dederer
 
Building Enterprise Application with J2EE
Building Enterprise Application with J2EEBuilding Enterprise Application with J2EE
Building Enterprise Application with J2EECalance
 
Cocoa encyclopedia
Cocoa encyclopediaCocoa encyclopedia
Cocoa encyclopediaAlex Ali
 
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"..."A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...Prem Gurbani
 
Comments on Simulations Project.pdf
Comments on Simulations Project.pdfComments on Simulations Project.pdf
Comments on Simulations Project.pdfBrij Consulting, LLC
 
Modern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design PatternsModern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design PatternsVolodymyr Voytyshyn
 
J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007Jay van Zyl
 

Similar to Agile DDD Genuin Objects (20)

1023 paper
1023 paper1023 paper
1023 paper
 
10/23 paper
10/23 paper10/23 paper
10/23 paper
 
WebML for OMG
WebML for OMGWebML for OMG
WebML for OMG
 
ASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docx
ASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docxASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docx
ASSIGNMENT 1Fnu MohammadL20495160BUSINESS MODEL 2Fo.docx
 
Hexagonal Architecture using Grails
Hexagonal Architecture using GrailsHexagonal Architecture using Grails
Hexagonal Architecture using Grails
 
Comments on Simulations Partners.pdf
Comments on Simulations Partners.pdfComments on Simulations Partners.pdf
Comments on Simulations Partners.pdf
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework Engineering
 
Simulations Partners.pdf
Simulations Partners.pdfSimulations Partners.pdf
Simulations Partners.pdf
 
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
J2ee connector architecture
J2ee connector architectureJ2ee connector architecture
J2ee connector architecture
 
Visualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinarVisualizing large data sets with wijmo enterprise webinar
Visualizing large data sets with wijmo enterprise webinar
 
Building Enterprise Application with J2EE
Building Enterprise Application with J2EEBuilding Enterprise Application with J2EE
Building Enterprise Application with J2EE
 
Cocoa encyclopedia
Cocoa encyclopediaCocoa encyclopedia
Cocoa encyclopedia
 
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"..."A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
 
Day5
Day5Day5
Day5
 
Comments on Simulations Project.pdf
Comments on Simulations Project.pdfComments on Simulations Project.pdf
Comments on Simulations Project.pdf
 
Modern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design PatternsModern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design Patterns
 
J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007
 

More from Jukka Tamminen

More from Jukka Tamminen (8)

Viranomaiset verkossa
Viranomaiset verkossaViranomaiset verkossa
Viranomaiset verkossa
 
Some
SomeSome
Some
 
Hsl kutsu plusesittely
Hsl kutsu plusesittelyHsl kutsu plusesittely
Hsl kutsu plusesittely
 
Terveydenhuolto ja esim
Terveydenhuolto ja esimTerveydenhuolto ja esim
Terveydenhuolto ja esim
 
Agina Animation English
Agina Animation EnglishAgina Animation English
Agina Animation English
 
Angina Animaatio2010 Ok
Angina Animaatio2010 OkAngina Animaatio2010 Ok
Angina Animaatio2010 Ok
 
Web Kaupp Anim
Web Kaupp AnimWeb Kaupp Anim
Web Kaupp Anim
 
AitoOliot avaus
AitoOliot avausAitoOliot avaus
AitoOliot avaus
 

Agile DDD Genuin Objects

  • 1. Agile Domain Driven DevelopmentGenuin Objects x. x. 2009 Genuin Object principles
  • 2. Page 2 2008-01-11 Agenda Agile process and its variations Object-Oriented paradigm its meaning is complexity management 3-layer architecture and code generation Abstract Domain Driven Development
  • 3. Agile development Counterstrick to waterfall design
  • 4. OO paradigm Complete world view
  • 5.
  • 6. Application Objects Persistent Objects GUI Business Objects Logical 3-tier structure of application
  • 7. Page 7 2008-01-11 Restaurant class diagram
  • 8. Page 8 2008-01-11 Restaurant collaboration diagram
  • 9. Page 9 2008-01-11 Why collaboration is simpler Functional decomposition Object collaboration A D Trick A1 Trick A2 Trick D1 Trick D2 B C Trick B1 Trick B2 Trick C1 Trick C2 A D B C Two layer encapsulated and collaborative complexity Flat layer connection complexity
  • 10. Page 10 2008-01-11 Combining ER- and process models OO-model Two separate model higly difficult to combine ER - model Process model
  • 11. Page 11 2008-01-11 The overall viewpoint is dominative in nature OO viewpoin leads to collaborative agent solution Functional decomposition lead to timebase functiona decomposition and 2- layer soultions Paradigm principle of Object Orientation These approaches are mutually exclusive and can not be combined by their very paradigm nature
  • 12. Abstract model and 3-tiear solutuions More controle of complexity
  • 13. Page 13 2008-01-11 Abrstract model – intersection of business dimensions
  • 14. Page 14 2008-01-11 Close (almost one-to-one) correlation with reality (simulation model) => easy to understand and verify Multy layer encapsulation bring order to chaos=> object encapsulation collapses complexity Inheritance expands possibilities=>representation several abstraction levels in one model The net result: the overall complexity of the model drops to square root or cubic root of the original Priorities of Object-Oriented principles
  • 15. Abstract Domain Driven Development
  • 16. Page 16 2008-01-11 Explotion of complexity definition design implementation Domain implemenstation Application additions Abstract domain modeling Comparison between agile and waterfall project principal Waterfall implementation definition design Tradition agile Agile model driven developmet
  • 17. small big semantic content abstraction level high low amount of semantics The paradox of abstraction
  • 18. Agility with model reality Development process Abstract core model 5 -15 dyas Design Implementations
  • 19. GUI Application Objects Business Objects Persistent Objects Business objective 1 Abstract domain model Business processes Workflows 3 Use cases Implementation 2 4 Implementation Development process
  • 20. GUI Application Objects Business Objects Persistent Objects Generate 100% 10% 80 % Development process
  • 21. Business logic Application logic Business Objects Application Objects Screens Persistence Asymmetrically tightly coupled Structure of 3-tier architecture
  • 22. Page 22 2008-01-11 Into the hard core of things Understanding Of Object paradigm 1 Controled abstraction and 3-tier architecture 2 Agility 3 Code generation 4