De l’usage des méthodes statiques

Suite à ma précédente introduction à Domain Driven Design, une critique négative sur l’usage des services statiques (en PHP ou non)a fait réagir un lecteur. Ce dernier soulève une question légitime : « en quoi l’usage des classes de services statiques est à éviter ? »

Un service statique ?

Tout d’abord, rappelons d’un point de vue technique ce que sont les méthodes statiques :

<?php
class ClassDeServiceStatique
{
    public static function unServiceStatique () 
    { 
        //L'usage de $this est prohibé
        //calculs ne nécessitant pas de contexte
        return "resultat";
    }
}

Une classe de service statique est une classe qui regroupe ses règles métiers dans une collection de méthodes exclusivement statiques (utilisant le mot clef static), donc qui n’utilise ni ne s’appuie sur une quelconque information de contexte (un état).

Continuer la lecture