¿Tiene Python patrones de diseño?
Patrón Singleton: Es un patrón de diseño de software común cuyo objetivo principal es garantizar que solo exista una instancia de una clase. Los objetos singleton resultan útiles cuando sólo se necesita una instancia de una clase en todo el sistema. El objeto singleton tiene tres puntos principales: primero, una clase solo puede tener una instancia, segundo, debe crear la instancia completa por sí misma y, tercero, debe proporcionar esta instancia a todo el sistema por sí misma.
Patrón de fábrica: Proporciona una interfaz para la creación de objetos, a diferencia del cliente que expone el proceso de creación de objetos. Utiliza interfaces públicas para crear objetos, que se dividen en tres tipos: fábrica simple, método de fábrica y fábrica abstracta. El comportamiento de una clase o sus algoritmos se puede cambiar en tiempo de ejecución. Este tipo de patrón de diseño es un patrón de comportamiento.
Patrón de estrategia: Uno de los patrones de diseño comunes, se refiere a definir una serie de algoritmos, encapsular cada algoritmo y hacerlo reemplazable. El patrón Estrategia permite que el algoritmo cambie independientemente de los clientes que lo utilicen. En otras palabras, defina una plantilla para resolver el problema. Esta plantilla es una estrategia específica y cada estrategia se ejecuta de acuerdo con esta plantilla. En este caso, cuando tengamos una nueva estrategia, podemos escribirla directamente según la plantilla sin afectar la estrategia previamente definida.
Modo Fachada: El modo Fachada también se llama modo apariencia. La definición es la siguiente: La comunicación entre el exterior del subsistema y su interior debe realizarse a través de objetos unificados. El modo fachada proporciona una interfaz de alto nivel que hace que el subsistema sea más fácil de usar. El patrón de fachada se centra en objetos unificados, es decir, en proporcionar interfaces para acceder a subsistemas. El patrón de fachada es similar al patrón de plantilla y encapsula algunos métodos que deben repetirse. Sin embargo, son esencialmente diferentes. El patrón de plantilla encapsula los métodos de la clase en sí y los métodos encapsulados también se pueden utilizar de forma independiente. El modo fachada es una encapsulación de un subsistema y, en teoría, no se propone que sus interfaces encapsuladas se utilicen solas.