/// <summary>
        /// Especifica el algoritmo de pasos abstractos de construcción del objeto Celular
        /// </summary>
        /// <param name="celularBuilder"></param>
        public void Construir(CelularBuilder celularBuilder)
        {
            celularBuilder.Celular = new Celular();

            celularBuilder.ConstruirPantalla();
            celularBuilder.ConstruirTeclado();
            celularBuilder.ConstruirCargador();
        }
        /// <summary>
        /// Especifica el algoritmo de pasos abstractos de construcción del objeto Celular
        /// </summary>
        /// <param name="celularBuilder"></param>
        public void Construir(CelularBuilder celularBuilder)
        {
            celularBuilder.Celular = new Celular();

            celularBuilder.ConstruirPantalla();
            celularBuilder.ConstruirTeclado();
            celularBuilder.ConstruirCargador();
        }
        private void btnConstruirNokia_Click(object sender, EventArgs e)
        {
            //Instancia el builder concreto. En este punto el cliente lo conoce.
            builder = new NokiaN9Builder();

            //El director no conoce el builder concreto.
            companiaCelular.Construir(builder);

            //El builder no sabe qué objeto concreto construyó y contiene
            MessageBox.Show(string.Concat("- Caracteristicas del Nokia N9 - ", builder.Celular.MostrarCaracteristicas()));
        }
        private void btnConstruirNokia_Click(object sender, EventArgs e)
        {
            //Instancia el builder concreto. En este punto el cliente lo conoce.
            builder = new NokiaN9Builder();

            //El director no conoce el builder concreto.
            companiaCelular.Construir(builder);

            //El builder no sabe qué objeto concreto construyó y contiene
            MessageBox.Show(string.Concat("- Caracteristicas del Nokia N9 - ", builder.Celular.MostrarCaracteristicas()));
        }