#+title: Patrones de diseño

* Singleton
es un patron que permite que se instancie una sola vez un objeto de forma global para que todos los procesos dentro del mismo sistema usen el mismo objeto

#+begin_src csharp
namespace Controladora
{
    public class Singleton<T> where T : new()
    {
        // Singleton thread-safe por si quiero usar "Parallel"
        private static T instance = new T();
        public static T Instance
        {
            get
            {                
                return instance;
            }   
        }

    }
}
#+end_src