디자인 모델 - 건설 자 모델, 생활 과 결합

2996 단어
개인 적 이해
            1. 복잡 한 대상 의 생 성 해결
            2. 똑 같은 구축 과정 에 서로 다른 표현 이 있다.
            3. 번 거 롭 고 순서 가 중요 하지 않 은 일 을 처리한다.
2. 실제 운용
             1. 핸드폰 조립
             2. 개인의 매일 생활, 식사, 잠, 청소
코드
using System;
using System.Collections.Generic;
using System.Text;

namespace ModeDemo.Builder
{
    public abstract class Builder
    {
        public abstract void BuildPatrA();
        public abstract void BuildPatrB();

        public abstract Product GetResult();
    }
}
using System;
using System.Collections.Generic;
using System.Text;

namespace ModeDemo.Builder
{
    public class ConcreateBuilder1:Builder
    {
        private Product product = new Product();

        public override void BuildPatrA()
        {
            product.Add("PartA");
        }

        public override void BuildPatrB()
        {
            product.Add("PartA");
        }

        public override Product GetResult()
        {
            return product;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Text;

namespace ModeDemo.Builder
{
    public class ConcreateBuilder2:Builder
    {
        private Product product = new Product();

        public override void BuildPatrA()
        {
            product.Add("partX");
        }

        public override void BuildPatrB()
        {
            product.Add("partY");
        }

        public override Product GetResult()
        {
            return product;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Text;

namespace ModeDemo.Builder
{
    public class Director
    {
        public void Construct(Builder builder)
        {
            builder.BuildPatrA();
            builder.BuildPatrB();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace ModeDemo.Builder
{
    public class Product
    {
        ArrayList parts = new ArrayList();

        public void Add(string part)
        {
            parts.Add(part);
        }

        public void Show()
        {
            Console.WriteLine("
Product Parts ------------"); foreach (string part in parts) { Console.WriteLine(part); } } } }
            Builder.Director director = new ModeDemo.Builder.Director();
            Builder.Builder b1 = new Builder.ConcreateBuilder1();
            Builder.Builder b2 = new Builder.ConcreateBuilder2();

            director.Construct(b1);
            Builder.Product p1 = b1.GetResult();
            p1.Show();

            director.Construct(b2);
            Builder.Product p2 = b2.GetResult();
            p2.Show();

            Console.Read();

좋은 웹페이지 즐겨찾기