Ejecutando python

Referencia :
cd mon_projet

python -m venv mon_venv

source mon_venv/bin/activate

# Sur windows
mon_venv\Scripts\activate

deactivate

requisito de instalación

pip install -r requirements.txt

iniciación

Patrones de diseño del GoF en Python

Los design patterns de GoF son un conjunto de 23 design patterns que han sido descritos en el libro "Design Patterns: Elements of Reusable Object-Oriented Software".

Table 1. Aquí tienes una lista de los patrones de diseño GoF

Nombre

Description

Método de fábrica

Crea objetos sin especificar la clase exacta a instanciar.

Fábrica Abstracta

Crea familias de objetos relacionados o dependientes sin especificar su clase concreta.

Constructor

Separa la construcción de un objeto complejo de su representación para que el mismo proceso de construcción pueda crear diferentes representaciones.

Prototipo

Crea nuevos objetos copiando un prototipo existente.

Singleton

Restringe la instanciación de una clase a un solo objeto.

Adaptar

Convierte la interfaz de una clase en otra interfaz que el cliente espera.

bridge

Desacopla una abstracción de su implementación de modo que ambos puedan variar independientemente.

Compuesto

Compone objetos en estructuras de árbol para representar jerarquías de parte-todo.

Decorador

Adjunta dinámicamente responsabilidades adicionales a un objeto.

Fachada

Proporciona una interfaz unificada a un conjunto de interfaces en un subsistema.

Peso mosca

Reduce el costo de creación y uso de objetos ligeros.

proxy

Proporciona un sustituto o un espacio reservado para otro objeto a fin de controlar el acceso a él.

Cadena de Responsabilidad

Permite que más de un objeto procese una solicitud.

Comando

Encapsule una solicitud en un objeto, permitiendo así parametrizar clientes con diferentes solicitudes, colas o registros, y admitir operaciones deshacibles.

Intérprete

Da una representación de la gramática de un idioma y usa esta representación para interpretar frases en ese idioma.

Iterador

Proporciona una manera de recorrer secuencialmente los elementos de un objeto agregado sin exponer su representación subyacente.

Mediador

Permite reducir las dependencias complejas entre los objetos haciendo que se comuniquen únicamente a través de un objeto mediador.

Recuerda

Proporciona la capacidad de restaurar un objeto a su estado anterior (sin violar la encapsulación).

Observa

Define una dependencia uno-a-muchos entre los objetos de modo que cuando un objeto cambia de estado, todos sus dependientes son notificados y actualizados automáticamente.

estado

Permite a un objeto cambiar de comportamiento cuando cambia su estado interno.

Estrategia

Define una familia de algoritmos, encapsula cada uno de ellos y los hace intercambiables.

Método plantilla

Define el esqueleto de un algoritmo en un método, delegando algunos pasos a las subclases.

Visitante

Permite definir una nueva operación que se realiza sobre una estructura de objetos sin cambiar las clases de los objetos sobre los que actúa.

Programación funcional

biblioteca

URL

Description

PyMonad

https://github.com/jasondelaat/pymonad

PyMonad es una implementación de estructuras de datos monádicas en Python basada en lenguajes de programación como Haskell y F# con implementaciones para los tipos de monads más comúnmente usados en programación funcional.https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[artículo]

PyFunctional

https://github.com/EntilZha/PyFunctional/

PyFunctional es una biblioteca Python para la programación funcional que proporciona herramientas para trabajar con funciones puras e iterables.

Toolz

https://toolz.readthedocs.io/en/latest/

Toolz es una biblioteca Python para la programación funcional que proporciona herramientas para trabajar con funciones puras e iterables.

Fn.py

https://github.com/kachayev/fn.py

Fn.py es una biblioteca Python para la programación funcional que proporciona herramientas para trabajar con funciones puras e iterables.

coco

https://coconut-lang.org/

Coconut agrega varias funcionalidades a Python para la programación funcional, incluido el pattern matching.https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[conversación sof]

efectos secundarios

bucles

# impérative way
result = []
for i in inputs:
    x = f(g(i))
    result.append(x)

# idiomatic way
result = map(comp(f,g), inputs)

Articles connexes