Padrão de Projeto Builder

435 palavras 2 páginas
Padrões de Projeto
Padrão de Criação

Builder



O problema é que precisamos modelar um sistema de venda de carros para uma concessionária. Queremos que o sistema seja flexível, para adição de novos carros, e de fácil manutenção



Proposta do Padrão: “Separar a construção de um objeto complexo de sua representação de modo que o mesmo processo de construção possa criar diferentes representações.” 

No padrão Builder temos também uma interface comum para todos os objetos que constroem outros objetos. Essa interface Builder define todos os passos necessários para construir um objeto

public class CarroProduct { double preco;
String dscMotor; int anoDeFabricacao;
String modelo;
String montadora;
}

A classe Builder vai possuir um método para construir cada um dos dados do nosso Produto: public abstract class CarroBuilder {

protected CarroProduct carro; public CarroBuilder() { carro = new CarroProduct();
}
public abstract void buildPreco(); public abstract void buildDscMotor();

public abstract void buildAnoDeFabricacao(); public abstract void buildModelo(); public abstract void buildMontadora(); public CarroProduct getCarro() { return carro;
}
}



Nesta classe temos o carro que será construído, os passos para sua construção e um método que devolve o carro construído

public class FiatBuilder extends CarroBuilder {
@Override
public void buildPreco() {
// Operação complexa. carro.preco = 25000.00;
}
@Override public void buildDscMotor() {
// Operação complexa. carro.dscMotor = "Fire Flex 1.0";
}

@Override public void buildAnoDeFabricacao() {
// Operação complexa. carro.anoDeFabricacao = 2011;
}
@Override public void buildModelo() {
// Operação complexa. carro.modelo = "Palio";
}
@Override public void buildMontadora() {
// Operação complexa. carro.montadora = "Fiat";
}



Essa classe utiliza a estrutura do Builder para definir o algoritmo de construção do Produto.

Relacionados

  • Trabalho De Padroes Wallacy Estacio
    1224 palavras | 5 páginas
  • padroes de projetos
    1641 palavras | 7 páginas
  • Implementando Design Patterns com Java
    988 palavras | 4 páginas
  • PADR ES DE PROJETO DE SOFTWARE 2014
    1145 palavras | 5 páginas
  • LocadoraBD
    2068 palavras | 9 páginas
  • Padr Es GoF
    4531 palavras | 19 páginas
  • Apostila Padrões de Projeto
    5827 palavras | 24 páginas
  • CPPBuilder
    16584 palavras | 67 páginas
  • guia completo do project model canvas
    2922 palavras | 12 páginas
  • F xiv projeto
    1367 palavras | 6 páginas