Pourquoi les evenements sont importants
-
Upload
emilien-pecoul -
Category
Engineering
-
view
374 -
download
3
Transcript of Pourquoi les evenements sont importants
Pourquoi les évènements sont importants?
@ouarzy
http://www.ouarzy.com
@ouarzy
Data Driven / CRUD
@ouarzy
--------------Nice
User Interface(FORM)
------------
DATA(DB)
ORM
Data Driven / CRUD
Mais au fait pourquoi on fait du logiciel?
Automatiser des processus pour aider un métier
Data Driven / CRUD
@ouarzy
--------------Nice
User Interface(FORM)
------------
DATA(DB)
ORM
METIER?
Pro Tip
Accumuler des couches n’est pas la solution
@ouarzy
Architecture en couche--------------
NiceUser Interface
(FORM)------------
DATA(DB)
DATA ACCESS (ORM)
METIER
@ouarzy
Se centrer sur le métier
Domain DesignDriven
@ouarzy
Domain Driven
Mais comment mettre le métier au centre?
@ouarzy
Protéger la couche métier
@ouarzy
METIER
--------------Nice
User Interface(FORM)
------------
DATA(DB)
@ouarzy
Mieux: avoir une approche évènementielle
Comment?
Avec une approche évènementielleConstruire un logiciel
@ouarzy
Alors, on code quoi?
Analyse du problème
@ouarzy
Event Storming
@ouarzy
« The amount of energy to refute bulllshit is an order of
magnitude higher than to produce it »
- @ziobrando
@ouarzy
Le but?
Juste un exemple parmi d’autres…
Un exemple parmi d’autres
@ouarzy
Ubiquitous Language
@ouarzy
Partage de connaissanceCompréhension partagée du problème qui justifie
cette solution
@ouarzy
«It’s developer’s understanding, not your knowledge that become
software! »- @ziobrando
Et le code dans tout ça?
@ouarzy
Sinon moi je veux bien livrer des
post-it…
Event Sourcing
Inspiré de Jérémie Chassaing
Decide
Apply
Aggregate
Commands Events
DecisionProjection
Store
SideEffects
OutsideWorld
@ouarzy
CQRS
Inspiré de Greg Young
Commands
Aggregates
Events
Projections--------------Nice
User Interface------------
OutsideReal
World
Comman
d
Query@ouarzy
Changement de mentalité
Les limites?
@ouarzy
Plus difficile dans le code de suivre un cas d’utilisation
Les limites?
@ouarzy
Runtime
Artifact
Decision
Les idée reçues
C’est très complexe à implémenterC’est utile seulement pour Google
@ouarzy
Les idée reçues
C’est pas performantC’est que pour la performance
@ouarzy
Des architectures parmi d’autres
@ouarzy
Le but?
Juste un exemple parmi d’autres…
Aligner le code et le métier
Montrez votre code aux experts métier…
…Ils ne comprennent pas? Vous êtes le problème.
@ouarzy
Car le métier va évoluer
Un code simple à modifier
No time for testing death spiral
Pressure
TestingErrors + -
+
+-
-
@ouarzy
Une vraie équipeChef de projet
Expert métierUtilisateur
Développeur
DéveloppeurTesteur
En résumé
Les évènements sont importants pour être plus proche du métier
Dans l’analyse du problème
Et dans l’implémentation de la solution
Juste des exemples…
@ouarzy
Merci
http://www.ouarzy.com
References
https://leanpub.com/livingdocumentationLiving Documentation
Event Storming
@cyriux
https://leanpub.com/introducing_eventstorming@ziobrando
Domain Driven Design:Tackling Complexity In The Heart of Software@ericevans0
@ScottMillett
Patterns, Principles and Practices of DDD
References
@thinkb4coding
@gregyoung
https://goodenoughsoftware.net/
http://thinkbeforecoding.com/
@CarloPescio
http://www.physicsofsoftware.com/