La conception consiste à donner à un projet de programmation une organisation souple, mais structurante. Une telle organisation permettra de garder un code clair au cours des différentes évolutions que le code subira. Ces évolutions devront pouvoir être faites facilement et le code pourra à tout moment être testé facilement. La modularité intelligente est une clé de voûte de la conception. Les principes de cette modularité sont énoncés dans les principes SOLID. Le savoir-faire de cette modularité est résumé dans les patrons de conceptions qui permettent d'éviter les pièges habituels de conception en suivant des modèles sous la forme de diagrammes UML.
- Principes SOLID : SRP, OCP, LSP, ISP, DIP, description, détection des violations de ces principes
- Présentation et utilisation de patrons de conceptions sur des exemples concrets
- Factory
- Strategy
- Template method
- Decorator
- Composite
- State
- Adapter
- Builder
- Command
- Chain of responsibility
- Iterator
- Observer
- Proxy
- Bridge
- Visitor
- Singleton
- Diagramme de classes UML
- Tests unitaires
- Refactoring
- Documentation, spécification