dotSITE
Форумы Work in Murano Software. Учебник по C#
новости материалы решения форумы группы настройки/о проекте

Builder

Builder - паттерн, позволяющий абстрагировать процесс создания комплексных систем, путем выделения и обобщения классов, отвечающих за создание частей.

        namespace Builder_DesignPattern
        {
            using System;

            class Director 
            {
                public void Construct(AbstractBuilder abstractBuilder)
                {
                    abstractBuilder.BuildPartA();
                    abstractBuilder.BuildPartC();           
                }

            }

            abstract class AbstractBuilder
            {
                abstract public void BuildPartA();
                abstract public void BuildPartB();
                abstract public void BuildPartC();
            }

            class ConcreteBuilder : AbstractBuilder 
            {
                override public void BuildPartA()
                {
                    Console.WriteLine("ConcreteBuilder.BuildPartA called");
                }
                        
                override public void BuildPartB()
                {
                    Console.WriteLine("ConcreteBuilder.BuildPartB called");
                }
                
                override public void BuildPartC()
                {
                    Console.WriteLine("ConcreteBuilder.BuildPartC called");
                }
            }   

            public class Client
            {
                public static int Main(string[] args)
                {
                    ConcreteBuilder concreteBuilder = new ConcreteBuilder();
                    Director director = new Director();

                    director.Construct(concreteBuilder);

                    return 0;
                }
            }
        }
        

Back
Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2010 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development