Pourquoi les evenements sont importants

33
Pourquoi les évènements sont importants? @ouarzy

Transcript of Pourquoi les evenements sont importants

Page 1: Pourquoi les evenements sont importants

Pourquoi les évènements sont importants?

@ouarzy

Page 2: Pourquoi les evenements sont importants

http://www.ouarzy.com

@ouarzy

Page 3: Pourquoi les evenements sont importants

Data Driven / CRUD

@ouarzy

--------------Nice

User Interface(FORM)

------------

DATA(DB)

ORM

Page 4: Pourquoi les evenements sont importants

Data Driven / CRUD

Mais au fait pourquoi on fait du logiciel?

Automatiser des processus pour aider un métier

Page 5: Pourquoi les evenements sont importants

Data Driven / CRUD

@ouarzy

--------------Nice

User Interface(FORM)

------------

DATA(DB)

ORM

METIER?

Page 6: Pourquoi les evenements sont importants

Pro Tip

Accumuler des couches n’est pas la solution

@ouarzy

Page 7: Pourquoi les evenements sont importants

Architecture en couche--------------

NiceUser Interface

(FORM)------------

DATA(DB)

DATA ACCESS (ORM)

METIER

@ouarzy

Page 8: Pourquoi les evenements sont importants

Se centrer sur le métier

Domain DesignDriven

@ouarzy

Page 9: Pourquoi les evenements sont importants

Domain Driven

Mais comment mettre le métier au centre?

@ouarzy

Page 10: Pourquoi les evenements sont importants

Protéger la couche métier

@ouarzy

METIER

--------------Nice

User Interface(FORM)

------------

DATA(DB)

Page 11: Pourquoi les evenements sont importants

@ouarzy

Mieux: avoir une approche évènementielle

Page 12: Pourquoi les evenements sont importants

Comment?

Avec une approche évènementielleConstruire un logiciel

@ouarzy

Alors, on code quoi?

Page 13: Pourquoi les evenements sont importants

Analyse du problème

@ouarzy

Page 14: Pourquoi les evenements sont importants

Event Storming

@ouarzy

« The amount of energy to refute bulllshit is an order of

magnitude higher than to produce it »

- @ziobrando

Page 15: Pourquoi les evenements sont importants

@ouarzy

Page 16: Pourquoi les evenements sont importants

Le but?

Juste un exemple parmi d’autres…

Un exemple parmi d’autres

@ouarzy

Page 17: Pourquoi les evenements sont importants

Ubiquitous Language

@ouarzy

Page 18: Pourquoi les evenements sont importants

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

Page 19: Pourquoi les evenements sont importants

Et le code dans tout ça?

@ouarzy

Sinon moi je veux bien livrer des

post-it…

Page 20: Pourquoi les evenements sont importants

Event Sourcing

Inspiré de Jérémie Chassaing

Decide

Apply

Aggregate

Commands Events

DecisionProjection

Store

SideEffects

OutsideWorld

@ouarzy

Page 21: Pourquoi les evenements sont importants

CQRS

Inspiré de Greg Young

Commands

Aggregates

Events

Projections--------------Nice

User Interface------------

OutsideReal

World

Comman

d

Query@ouarzy

Page 22: Pourquoi les evenements sont importants

Changement de mentalité

Les limites?

@ouarzy

Page 23: Pourquoi les evenements sont importants

Plus difficile dans le code de suivre un cas d’utilisation

Les limites?

@ouarzy

Runtime

Artifact

Decision

Page 24: Pourquoi les evenements sont importants

Les idée reçues

C’est très complexe à implémenterC’est utile seulement pour Google

@ouarzy

Page 25: Pourquoi les evenements sont importants

Les idée reçues

C’est pas performantC’est que pour la performance

@ouarzy

Page 26: Pourquoi les evenements sont importants

Des architectures parmi d’autres

@ouarzy

Le but?

Juste un exemple parmi d’autres…

Page 27: Pourquoi les evenements sont importants

Aligner le code et le métier

Montrez votre code aux experts métier…

…Ils ne comprennent pas? Vous êtes le problème.

@ouarzy

Page 28: Pourquoi les evenements sont importants

Car le métier va évoluer

Un code simple à modifier

No time for testing death spiral

Pressure

TestingErrors + -

+

+-

-

@ouarzy

Page 29: Pourquoi les evenements sont importants

Une vraie équipeChef de projet

Expert métierUtilisateur

Développeur

DéveloppeurTesteur

Page 30: Pourquoi les evenements sont importants

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…

Page 31: Pourquoi les evenements sont importants

@ouarzy

Merci

http://www.ouarzy.com

Page 32: Pourquoi les evenements sont importants

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

Page 33: Pourquoi les evenements sont importants

References

@thinkb4coding

@gregyoung

https://goodenoughsoftware.net/

http://thinkbeforecoding.com/

@CarloPescio

http://www.physicsofsoftware.com/