结构图
游戏中的Builder应用
public abstract class House
{
}
public abstract class Builder
{
//构建门
public abstract void BuildDoor();
//构建窗户
public abstract void BuildWindows();
//构建墙
public abstract void BuildWall();
//构建地板
public abstract void BuildFloor();
public abstract void BuildHouseCeiling();
public abstract House GetHouse();
}
public class GameManager()
{
public static CreatHouse(Builder builder)
{
//build2个门
builder.BuilDoor();
builder.BuilDoor();
//build2个窗
builder.BuildWindows();
builder.BuildWindows();
builder.GetHouse();
}
}
public Class App
{
public void Main()
{
GameManager.CreatHoust(new Builder());
}
}
Builder模式的几个要点
-Builder 模式主要用于"分步骤构建一个复杂的对象"。在这其中"分步骤"是一个稳定的算法,复杂对象的各个部分则经常变化
-变化点在哪里,封装在哪里----Builder模式主要在于应对"复杂对象各部分"的频繁需求变动。其缺点在于难以应付"分步骤构建算。法"的需求变动。
-Abstract Factory 模式解决"系列对象"的需求变化,Builder模式解决"对象部分"的需求变化。Builder模式通常和Composite模式组合使用。