/// Utilisation : /// /// Pouet p = Pouet.Make("toto"); /// p.DoStuff(); /// p.Destroy(); /// namespace W00t { class PouetManager { PouetManager() { } private List _pouetlist = new List(); public Pouet MakePouet(string id) { Pouet p = new Pouet(id); _pouetlist.Add(p); return p; } public void DestroyPouet(Pouet pouet) { _pouetlist.Remove(pouet); } } class Pouet { static PouetManager _pouetmanager = new PouetManager(); public static Pouet Make(string id) { return _pouetmanager.MakePouet(id); } public Pouet Destroy() { return _pouetmanager.DestroyPouet(this); } public Pouet(string id) { Logger.Log("Création de Pouet {0}", id); } public void DoStuff() { } } }