Dans le livre Agile Software Development, Pinciples, Patterns and Practices, Robert C. Martin a condensé, en 2002, cinq principes fondamentaux de conception, répondant à cette problématique d’évolutivité, sous l’acronyme SOLID :
- Single responsibility principle
- Open close principle
- Liskov principle
- Interface segregation principle
- Dependency inversion principle
Dans ce TP, nous allons appliquer les notions SOLID sur un code existant, et proposer une meilleure implémentation.