Лев Сивашов: "Lean Architecture and DCI"
-
Upload
anna-shymchenko -
Category
Documents
-
view
89 -
download
1
Transcript of Лев Сивашов: "Lean Architecture and DCI"
OOP revisited
Data, Context and Interactions
Lev Sivashov
Dnipropetrovsk
July 31, 2014
2
In OOP we trust
Cohesion
Polymorphism
Encapsulation
Classes
Mixins
Traits
Interfaces
Encapsulation
Objects
Packages
Aspects
Instances
DelegationAbstractions
Prototypes
Messages
Patterns
Meta-classes
Decoupling
Inheritance
3
Network of communicating objects
4
Network of communicating objectswith a common goal
5
A class
?
??
?
6
A class
?
??
?
Static classes are not capable of reflecting the dynamic objects network
7
To extend end user's mental model
8
To extend end user's mental model
which is not inside an objectbut between objects
9
Lean
Agile
DCI
10
The DCI paradigm
Trygve Reenskaug, Jim Coplien
11
Some objects
12
1
2
3
...and a use case
13
1
2
3
...or this way
14
4
1
3
1
2
3
2
...and another one
15
1 3
4
1
2
3
2
...or this way
16
1 3
4
1
2
3
2
1
2
3
17
1 3
4
1
2
3
2
1
2
3
12
3
4
18
1
2
3
1
2
3
19
1
2
3
1
2
3
Data
20
1
2
3
1
2
3
Data
Context
21
1
2
3
1
2
3
Data
Context
Interactions
22
what the system is what the system does
Objects Use case
Roles
Your QR Code
Lev Sivashov
https://github.com/lpld/simple-scala-dci
Simple DCI implementation in Scala:
Any questions