Domain Inheritance Scaling Agility using Domain Inheritance
Overview Concept Idioms Demo
Concept Some context The (meta-) model
Some Context Aspect Orientation Subject Orientation Component Based Development Service Oriented Architecture
Subject Oriented Programming
Aspect Oriented Programming
Component Based Development
Domain Driven Design
Service Oriented Architecture
Concept State – Add Object Types – Add Relation Types – Add Inheritance relationships – Add Namespaces Behavior – Domain overrides (public/private domain methods)
The (meta) model
Idioms 3 rd Generation OO Modeling Multiple Type Declarations Raw, Cooked or Half Baked Objects (Against Design by Contract) Naked Objects and UI Abstract Factory
3 rd Generation Object Oriented Programming (OOP) Can be seen as a evolution from – 1 st Generation OOP (Inheritance) – 2 nd Generation OOP (Delegation)
1 st Generation OOP
2 nd Generation OOP
3 rd Generation OO
Multiple Type Declarations
Muldecs – Implementation in Allors
Design By Contract (is evil) Class invariants using Pre- and Post conditions
Half Baked Objects
Naked Objects
UI Abstract Factory
Questions?