示例#1
0
        public List <Carro> ListaCarros()
        {
            var builder = new CarroBuilder();
            var carros  = new List <Carro>();

            carros.Add(builder.SetId(1).SetModelo("ForTwo").SetQuantidadeOcupantes(2).Create());
            return(carros);
        }
示例#2
0
        //Builder
        public void Builder()
        {
            Builder builder = new CarroBuilder("HB20");
            Diretor diretor = new Diretor();
            Veiculo veiculo = diretor.Construtor(builder);

            Console.WriteLine(veiculo.Mostrar());
        }
示例#3
0
        public MainBuilderII()
        {
            ManufacturerAutomovil newManufacturer = new ManufacturerAutomovil();

            IAutomovilBuilder automovilBuilder = null;

            automovilBuilder = new CarroBuilder();
            newManufacturer.Construct(automovilBuilder);
            Console.WriteLine("A new Automovil built:\n\n{0}", automovilBuilder.Auto.ToString());

            automovilBuilder = new MotoBuilder();
            newManufacturer.Construct(automovilBuilder);
            Console.WriteLine("A new Automovil built:\n\n{0}", automovilBuilder.Auto.ToString());
        }
示例#4
0
        /*Intenção: separar a construção de um objeto complexo  de sua representação, de modo que o mesmo processo de
         * construção pode criar diferentes representações
         *
         *  O padrão pode ser aplicado quando o algoritmo para a construção de um objeto deve ser idependente das partes que o compoçem e de como
         *  elas são montadas. O processo de contrução deve permitir diferentes representações para o objeto que é construído.
         *
         *  Participantes:
         * Builder - especifica uma interface abstrata para a criação de partes de um objeto-produto
         * Concrete Builder - constrói e monta partes do produto pela implementação da interface de Builder; define e mantém a representação que cria; fornece
         *  uma interface para recuperação do produto;
         * Director - constrói um objeto usando a interface de Builder;
         * Product - representa o objeto complexo em construção;
         * Concrete Builder - constroi a representação interna do produto e define o processo pelo qual é montado; inclui classes que definem as partes constituintes,
         *  incluisve as interfaces para montagem das partes do resultado final.
         */

        public void Builder()
        {
            VeiculoBuilder builder  = new CarroBuilder();
            var            director = new Director();

            director.Construct(builder);


            Response.Write("<h1><strong>Criação utilizado o Builder</strong></h1><br>" + builder.Veiculo.Mostrar());

            Response.Write("<br>--------------------------------<br>");

            builder = new MotoBuilder();
            director.Construct(builder);
            Response.Write(builder.Veiculo.Mostrar());
        }
示例#5
0
        public static void Execute()
        {
            VeiculoBuilder builder;

            // Cria uma montadora com veiculos builders (construtores de veículos)
            var shop = new Montadora();

            // Constroi e exible os veículos
            builder = new ScooterBuilder();
            shop.Construct(builder);
            builder.Veiculo.Show();

            builder = new CarroBuilder();
            shop.Construct(builder);
            builder.Veiculo.Show();

            builder = new MotocicletaBuilder();
            shop.Construct(builder);
            builder.Veiculo.Show();
        }
示例#6
0
        static void Main(string[] args)
        {
            VehiculoBuilder builder;

            //Crear
            Tienda tienda = new Tienda();


            builder = new BicicletaBuilder();
            tienda.Construct(builder);
            builder.Vehiculo.Show();

            builder = new CarroBuilder();
            tienda.Construct(builder);
            builder.Vehiculo.Show();

            builder = new MotoBuilder();
            tienda.Construct(builder);
            builder.Vehiculo.Show();


            Console.ReadKey();
        }
示例#7
0
 public ConcessionariaDirector(CarroBuilder montadora)
 {
     _montadora = montadora;
 }