VS 2008

建造者模式将复杂对象的创建过程和对象的变现分离。
使得一个建造过程可以创建出具有不同变现的产品对象。

1. 模式UML图

Core Design Patterns(12) Builder 建造者模式

2. 应用

    考虑需要创建统一管理页面div的style的类,这个style通常包含font style、border style等信息,现在使用builder模式在创建这个管理div的style的类的产品。

Core Design Patterns(12) Builder 建造者模式

DivStyle.cs

Core Design Patterns(12) Builder 建造者模式using System;
Core Design Patterns(12) Builder 建造者模式
using System.Collections.Generic;
Core Design Patterns(12) Builder 建造者模式
using System.Linq;
Core Design Patterns(12) Builder 建造者模式
using System.Text;
Core Design Patterns(12) Builder 建造者模式

IDivStyleBuilder.cs

Core Design Patterns(12) Builder 建造者模式using System;
Core Design Patterns(12) Builder 建造者模式
using System.Collections.Generic;
Core Design Patterns(12) Builder 建造者模式
using System.Linq;
Core Design Patterns(12) Builder 建造者模式
using System.Text;
Core Design Patterns(12) Builder 建造者模式

CommonDivStyleBuilder.cs

Core Design Patterns(12) Builder 建造者模式using System;
Core Design Patterns(12) Builder 建造者模式
using System.Collections.Generic;
Core Design Patterns(12) Builder 建造者模式
using System.Linq;
Core Design Patterns(12) Builder 建造者模式
using System.Text;
Core Design Patterns(12) Builder 建造者模式

SpecialDivStyleBuilder.cs

Core Design Patterns(12) Builder 建造者模式using System;
Core Design Patterns(12) Builder 建造者模式
using System.Collections.Generic;
Core Design Patterns(12) Builder 建造者模式
using System.Linq;
Core Design Patterns(12) Builder 建造者模式
using System.Text;
Core Design Patterns(12) Builder 建造者模式

Director.cs

Core Design Patterns(12) Builder 建造者模式using System;
Core Design Patterns(12) Builder 建造者模式
using System.Collections.Generic;
Core Design Patterns(12) Builder 建造者模式
using System.Linq;
Core Design Patterns(12) Builder 建造者模式
using System.Text;
Core Design Patterns(12) Builder 建造者模式

Client

Core Design Patterns(12) Builder 建造者模式using System;
Core Design Patterns(12) Builder 建造者模式
using System.Collections.Generic;
Core Design Patterns(12) Builder 建造者模式
using System.Linq;
Core Design Patterns(12) Builder 建造者模式
using System.Text;
Core Design Patterns(12) Builder 建造者模式
using DesignPattern.Builder.BLL;
Core Design Patterns(12) Builder 建造者模式

Output

Core Design Patterns(12) Builder 建造者模式

相关文章: