Skip to content

Latest commit

 

History

History

patterns_csharp

Github Kofi LinkedIn Khanakat

Patrones de Diseño de Software con CSharp

Patrones Creacionales

Imagen Patrón Puntuación Descripción
img-abstract-factory Abstract Factory ⭐⭐⭐ Permite producir familias de objetos relacionados sin especificar sus clases concretas.
img-builder Builder ⭐⭐⭐ Permite construir objetos complejos paso a paso. Este patrón nos permite producir distintos tipos y representaciones de un objeto empleando el mismo código de construcción.
img-factory-method Factory Method ⭐⭐⭐ Proporciona una interfaz para la creación de objetos en una superclase, mientras permite a las subclases alterar el tipo de objetos que se crearán.
img-prototype Prototype ⭐⭐ Permite copiar objetos existentes sin que el código dependa de sus clases.
img-singleton Singleton ⭐⭐ Permite asegurarnos de que una clase tenga una única instancia, a la vez que proporciona un punto de acceso global a dicha instancia.

Patrones Estructurales

Imagen Patrón Puntuación Descripción
img-adapter Adapter ⭐⭐⭐ Permite la colaboración entre objetos con interfaces incompatibles.
img-bridge Bridge Permite dividir una clase grande o un grupo de clases estrechamente relacionadas, en dos jerarquías separadas (abstracción e implementación) que pueden desarrollarse independientemente la una de la otra.
img-composite Composite ⭐⭐ Permite componer objetos en estructuras de árbol y trabajar con esas estructuras como si fueran objetos individuales.
img-decorator Decorator ⭐⭐ Permite añadir funcionalidades a objetos colocando estos objetos dentro de objetos encapsuladores especiales que contienen estas funcionalidades.
img-facade Facade ⭐⭐ Proporciona una interfaz simplificada a una biblioteca, un framework o cualquier otro grupo complejo de clases.
img-flyweight Flyweight Permite mantener más objetos dentro de la cantidad disponible de memoria RAM compartiendo las partes comunes del estado entre varios objetos en lugar de mantener toda la información en cada objeto.
img-proxy Proxy Permite proporcionar un sustituto o marcador de posición para otro objeto. Un proxy controla el acceso al objeto original, permitiéndote hacer algo antes o después de que la solicitud llegue al objeto original.

Patrones de Comportamiento

Imagen Patrón Puntuación Descripción
img-chain-of-responsibility Chain of Responsibility Permite pasar solicitudes a lo largo de una cadena de manejadores. Al recibir una solicitud, cada manejador decide si la procesa o si la pasa al siguiente manejador de la cadena.
img-command Command ⭐⭐⭐ Convierte una solicitud en un objeto independiente que contiene toda la información sobre la solicitud. Esta transformación te permite parametrizar los métodos con diferentes solicitudes, retrasar o poner en cola la ejecución de una solicitud y soportar operaciones que no se pueden realizar.
img-iterator Iterator ⭐⭐⭐ Permite recorrer elementos de una colección sin exponer su representación subyacente (lista, pila, árbol, etc.).
img-mediator Mediator ⭐⭐ Permite reducir las dependencias caóticas entre objetos. El patrón restringe las comunicaciones directas entre los objetos, forzándolos a colaborar únicamente a través de un objeto mediador
img-memento Memento ⭐⭐ Permite guardar y restaurar el estado previo de un objeto sin revelar los detalles de su implementación.
img-observer Observer ⭐⭐⭐ Permite definir un mecanismo de suscripción para notificar a varios objetos sobre cualquier evento que le suceda al objeto que están observando.
img-state State ⭐⭐⭐ Permite a un objeto alterar su comportamiento cuando su estado interno cambia. Parece como si el objeto cambiara su clase.
img-strategy Strategy ⭐⭐⭐ Permite definir una familia de algoritmos, colocar cada uno de ellos en una clase separada y hacer sus objetos intercambiables.
img-template-method Template Method ⭐⭐ Define el esqueleto de un algoritmo en la superclase pero permite que las subclases sobrescriban pasos del algoritmo sin cambiar su estructura.
img-visitor Visitor ⭐⭐ Permite separar algoritmos de los objetos sobre los que operan.