Está en la página 1de 4

DIFERENTES PATRONES DE DISEÑO PARA DESARROLO DE PROYECTOS DE  

SOFTWARE.

Patrones Creacionales  Patrones Estructurales:  Patrones de Comportamiento:

Inicialización y configuración de objetos Separan la interfaz de la implementación. Se  Más que describir objetos o clases,
ocupan de cómo las clases y objetos se agrupan, describen la comunicación entre
para formar estructuras más grandes. ellos.

Fábrica Abstracta ( Abstract Factory )  Adaptador (Adapter): Convierte una interfaz  Cadena de responsabilidad (Chain
en otra. of responsibility): La base es permitir
El problema a solucionar por este patrón es el de crear que más de un objeto tenga la
diferentes familias de objetos, como por ejemplo la creación  Puente (Bridge): Desacopla una abstracción posibilidad de atender una petición.
de interfaces gráficas de distintos tipos (ventana, menú, de su implementación permitiendo
botón, etc.). modificarlas independientemente.  Orden (Command): Encapsula una
petición como un objeto dando la
 posibilidad de “deshacer” la petición.

 Intérprete (Interpreter): Intérprete


de lenguaje para una gramática
simple y sencilla.

Método de Fabricación ( Factory Method )  Objeto Compuesto (Composite): Utilizado  Iterador (Iterator): Define una
para construir objetos complejos a partir de interfaz que declara los métodos
Parte del principio de que las subclases determinan la clase a otros más simples, utilizando para ello la necesarios para acceder
implementar. composición recursiva y una estructura de secuencialmente a una colección de
árbol. objetos sin exponer su estructura
public class ConcreteCreator extends interna.
Creator  Envoltorio (Decorator): Permite añadir
  { dinámicamente funcionalidad a una clase  Mediador (Mediator): Coordina las
  protected Product FactoryMethod()
      { existente, evitando heredar sucesivas clases relaciones entre sus asociados.
            return new ConcreteProduct();
para incorporar la nueva funcionalidad. Permite la interacción de varios
      }
} objetos, sin generar acoples fuertes
public interface Product{}  Fachada (Facade): Permite simplificar la en esas relaciones.
public class ConcreteProduct implements interfaz para un subsistema.
Product{}  Recuerdo (Memento): Almacena el
      public class Client  Peso Ligero (Flyweight): Elimina la estado de un objeto y lo restaura
      { posteriormente.
redundancia o la reduce cuando tenemos
            public static void main(String
gran cantidad de objetos con información
args[])
            { idéntica.
                  Creator UnCreator;
                  UnCreator = new 
ConcreteCreator();
                  UnCreator.AnOperations();
            }
      }

Prototipado ( Prototype )  Apoderado (Proxy): Un objeto se aproxima a  Observador (Observer):


otro. Notificaciones de cambios de estado
Se basa en la clonación de ejemplares copiándolos de un de un objeto.
prototipo.  Public Class Articulo
    Delegate Sub
DelegadoCambiaPrecio(ByVal
unPrecio As Object)
    Public Event
CambiaPrecio As
DelegadoCambiaPrecio

Singleton     Dim _cambiaPrecio As


Object
Restringe la instanciación de una clase o valor de un tipo a     Public WriteOnly
Property Precio()
       Set(ByVal value As
Object)
un solo objeto.           _cambiaPrecio =
value
      public sealed class Singleton           RaiseEvent
      { CambiaPrecio(_cambiaPrecio
            private static volatile )
Singleton instance;        End Set
            private static object syncRoot     End Property
= new Object();  End Class
            private Singleton()  Public Class
            { ArticuloObservador
                      Public Sub
System.Windows.Forms.MessageBox.Show("Nuevo Notify(ByVal unObjecto As
Singleton"); Object)
            }       
            public static Singleton Console.WriteLine("El
GetInstance nuevo precio es:" &
            { unObjecto)
    Get    End Sub
   {
         if (instance == null)
        {
    lock(syncRoot)
{
   if (instance == null)
                                        
instance = new Singleton();
            }
         }
          return instance;
        }
      }
 }

MVC ( Model View Controler )  End Class


Este patrón plantea la separación del problema en tres capas:  Estado (Server): Se utiliza cuando el
la capa model, que representa la realidad; la capa controler , comportamiento de un objeto
que conoce los métodos y atributos del modelo, recibe y cambia dependiendo del estado del
realiza lo que el usuario quiere hacer; y la capa vista, que mismo.
muestra un aspecto del modelo y es utilizada por la capa
anterior para interaccionar con el usuario.  Estrategia (Strategy): Utilizado para
manejar la selección de un
algoritmo.

 Método plantilla (Template


Method): Algoritmo con varios pasos
suministrados por una clase
derivada.

 Visitante (Visitor): Operaciones


aplicadas a elementos de una
estructura de objetos heterogénea.

NOMBRE: GERMÁN MORALES MATA

MATERIA: DESARROLLO DE SISTEMAS DE SOFTWARE.

HORA: 4:00 – 5:00 PM.

También podría gustarte