bonsoir tout le monde

j'avais une question un peu theorique mais dont je n'arrive pas a trouver de reponse.
voila j'aurais aimé connaitre les avantages et les inconvenients des singletons et des classes avec des methodes statiques:
par exemple en php, pour ecrire une classe de configuration on peut realiser soit:
le singleton
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

class SingletonConfiguration {
    /**
     * the configuration instance
     * @access private
     */
    private static $instance = null;

     /**
      * get the configuration instance
      * @access public
      * @return mixed
      */
     public static function getInstance() {
        if (is_null($this->instance)) {
          $this->instance = new SingletonConfiguration();
        }
        return $this->instance;
     }
      /**
       * default constructor
       * @access private
        */
       private function __construct() {

       }

       /**
         * get a configuration key
         * @access public
         */
         public function getConfigKey($keyName) {
             ...
         }
}
et une classe avec des methodes statiques
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8

class Config {

        public static function getConfigKey($keyName) {

        }
}
dans quel cas utiliser un design pattern et non pas l'autre?
merci d'avance de votre experience
bien cordialement,