5
Patron de Diseño Builder, Java El Patrón de diseño Builder o Constructor es usado para permitir la creación de una variedad de objetos complejos desde un objeto fuente(Producto), el objeto fuente se compone de una variedad de partes que contribuyen individualmente a la creación de cada objeto complejo a través de un conjunto de llamadas a interfaces comunes de la clase Abstract Builder. Este patrón es medianamente usado. Su intención es de abstrae el proceso de creación de un objeto complejo, centralizando dicho proceso en un único punto, de tal forma que el mismo proceso de construcción pueda crear representaciones diferentes. Las clases y/u objetos que participan en este patron son los siguientes: Builder Define una interfaz abstracta para crear productos ConcreteBuilder Implementación de la interfaz Builder Construye y reune las partes necesarias para construir los productos Director Construye un objeto usando la interfaz Builder Producto El objeto complejo bajo construcción Metodos Propios

Patron de diseño builder

Embed Size (px)

DESCRIPTION

programas de patron singelton

Citation preview

Page 1: Patron de diseño builder

Patron de Diseño Builder, JavaEl Patrón de diseño Builder o Constructor es usado para permitir la creación de una variedad de objetos complejos desde un objeto fuente(Producto), el objeto fuente se compone de una variedad de partes que contribuyen individualmente a la creación de cada objeto complejo a través de un conjunto de llamadas a interfaces comunes de la clase Abstract Builder.

Este patrón es medianamente usado.

Su intención es de abstrae el proceso de creación de un objeto complejo, centralizando dicho proceso en un único punto, de tal forma que el mismo proceso de construcción pueda crear representaciones diferentes.

Las clases y/u objetos que participan en este patron son los siguientes:

Builder

Define una interfaz abstracta para crear productos

ConcreteBuilder

Implementación de la interfaz Builder

Construye y reune las partes necesarias para construir los productos

Director

Construye un objeto usando la interfaz Builder

Producto

El objeto complejo bajo construcción

Metodos Propios

Page 2: Patron de diseño builder

Puedes bajar el ejemplo y probarlo en tu pc. Fue desarrollado en Eclipse con Java 1.6SE[descargar]

Este es el codigo:

public class Director {

//Builder uses a complex series of stepspublic void Construct(Builder builder){builder.BuildPartA();builder.BuildPartB();}

}

public abstract class Builder {

public abstract void BuildPartA();public abstract void BuildPartB();public abstract Product getResult();}

public class ConcreteBuilder1 extends Builder{

private Product product = new Product();

@Overridepublic void BuildPartA() {product.Add("PartA");

}

@Overridepublic void BuildPartB() {product.Add("PartB");

public Product getResult(){return product;}

}

public class ConcreteBuilder2 extends Builder{

Page 3: Patron de diseño builder

private Product product = new Product();

@Overridepublic void BuildPartA() {product.Add("PartX");

}

@Overridepublic void BuildPartB() {product.Add("PartY");

public Product getResult(){return product;}

}

import java.util.ArrayList;

public class Product {

ArrayList parts = new ArrayList();

public void Add(String part){parts.add(part);

}

public void Show(){System.out.println("\nProduct Parts -------");for(Object part:parts)System.out.println(part);}

}

public class Main {

/*** @param args

Page 4: Patron de diseño builder

*/public static void main(String[] args) {// Create director and buildersDirector director = new Director();

Builder b1 = new ConcreteBuilder1();Builder b2 = new ConcreteBuilder2();

// Construct two productsdirector.Construct(b1);Product p1 = b1.getResult();p1.Show();

director.Construct(b2);Product p2 = b2.getResult();p2.Show();

}

}

Saludos