Mario Bensi
Atelier KDE
11/01/14
public void faireRelancesClient() {
sql = select * from clients
where solde > 0
and date_dernier_reglement < subtract(now, 3)
jeuDonnées = execute(sql)
foreach (enregistrement in jeuDonnées) {
envoyerWolf(jeuDonnées["adresse"],
jeuDonnées["code_postal"],
jeuDonnées["ville"])
}
}
public void faireRelancesClient() {
clients = Entrepot.clients().parSpecification(
new SpecificationClientMauvaisPayeur())
foreach (mauvaisPayeur in clients) {
envoyerWolf(mauvaisPayeur.getAdresse())
}
}
Behavior-Driven Development (BDD)
Story: Enregistrement à une formation
En tant que personne je suis à la recherche d'une formation
Je veux réserver une formation
Alors je peux apprendre et améliorer mes compétences.
Scenario: la formation est pleine
Étant donné que la formation DDD accueille 10 sièges et il y a déjà 10 personnes avec les inscriptions confirmées
Quand je m'inscris pour la formation DDD
Alors il devrait y avoir un enregistrement en attente pour moi et mon inscription devrait être sur la liste d'attente.
Le code devient l'expression du modèle
TDD
Buildbot
Jenkins
orchestre le travail en utilisant la couche domaine
expose les fonctionnalités et s'occupe de la sérialisation du domaine
expose les infos à travers la UI et reçoit les commandes utilisateur
logique d'accès aux données, bibliothèque externe...
Domain Driver Design d'Eric Evans
Applying Domain Driven Design and Pattern de Jimmy Nilsson (ex en C# et .NET)
DDD Quickly (infoQ)