S’il est un pattern sur lequel on ne cesse de revenir depuis son introduction par le célèbre GoF en 1994 dans Design Patterns: Elements of Reusable Object-Oriented Software, c’est bien celui-la. Entre les remarques sur le fait qu’il n’est pas thread safe, les différentes façons de lever ce problème, le fait qu’il utilise une variable statique, (ce que certains considèrent comme une hérésie), on n’en finit plus de faire la liste de ce qu’il faut faire ou ne pas faire.
Je voudrais tenter dans cet article de faire le bilan de toutes ces discussions, éparpillées à droite et à gauche sur le net, en y ajoutant un peu de réflexion personnelle. N’hésitez pas à me faire part de vos commentaires, et de vos retours d’expérience !