Software

Refactoring d'une application N-Tiers en utilisant le CQRS

Refactoring d'une application N-Tiers en utilisant le CQRS

CQRS, ou Command Query Responsibility Segregation, est une architecture où la partie Command (écriture) et la partie Query (lecture) du système sont séparées.

J’ai eu la chance d’assister récemment à une présentation de Tomasz Jaskula nommée Recettes CQRS, pour bien cuisiner son architecture. Je l’ai beaucoup appréciée, notamment car on voit les différentes étapes pour arriver à une architecture CQRS / Event Sourcing / DDD à partir d’une architecture N-Tiers “classique”.

L’objectif de cet article est de présenter ma compréhension et mon avis sur le CQRS en particulier.

Continue reading
ATDD et TDD double boucle

ATDD et TDD double boucle

L’Acceptance Test Driven Development est une pratique qui consiste à écrire un test d’acceptation dès la définition de la fonctionnalité à implémenter. Ce test permet ensuite de valider que l’implémentation de la fonctionnalité est terminée. En général, plusieurs composants unitaires sont nécessaires pour implémenter une fonctionnalité. Ces composants peuvent être développés en TDD dans une deuxième boucle de feedback.

L’objectif de cet article est de présenter l’ATDD et comment le mettre en pratique grâce à du TDD double boucle.

Continue reading
Découverte de Kotlin par la pratique

Découverte de Kotlin par la pratique

Kotlin est un langage de programmation créé par JetBrains. Il est exécuté sur la JVM et est 100% interopérable avec Java 1.6+. J’ai découvert récemment ce langage et j’ai réalisé un ensemble de katas pour le pratiquer. Le code source de ces katas est disponible sur GitHub :

Dans cet article, je vais présenter des particularités de Kotlin que j’ai pu rencontrer.

Continue reading
Polymorphisme avec le kata parrot refactoring

Polymorphisme avec le kata parrot refactoring

Ce kata est tiré d’un exemple du livre “Refactoring, Improving the Design of Existing Code” de Martin Fowler, et a été créé par Emilie Bache. L’exemple contient des signes de mauvais design et permet notamment de pratiquer le polymorphisme.
Dans cet article, une solution à ce kata sera développée. Le projet qui a servi de support se trouve sur GitHub avec la solution respective.

Continue reading