Null Object
Architecture 🟢 JuniorDefinition
Remplace les verifications null par un objet neutre qui implemente l'interface attendue avec un comportement par defaut (no-op).
Analogie
Un chauffeur fantome dans un taxi autonome : le siege conducteur est occupe par quelque chose qui ne fait rien mais le systeme fonctionne.
Exemple de code
class NullLogger {
log() {} // no-op
error() {} // no-op
}
// Au lieu de: if (logger) logger.log(...)
Cas d'usage
Eviter les verifications null repetitives pour des dependances optionnelles.
Anti-pattern
Retourner null au lieu d'un objet neutre, forçant des checks partout.