您的位置:首页 > 产品设计 > UI/UE

设计模式学习--生成器BUILDER

2014-11-10 10:48 363 查看
--来自《设计模式:可复用面向对象软件的基础》
目的
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
 

 
 
Class MazeBuilder
{
Public:

Virtual void BuildMaze();

Virtual void BuildRoom(int room);

Virtual void BuildDoor(int roomFrom, int roomTo);

 

Virtual Maze* GetMaze();
Protected:

MazeBuilder();
};
 
Maze*MazeGame::CreateMaze(MazeBuilder& build)
{

Builder.BuildMaze();

Builder.BuildRoom(1);

Builder.BuildRoom(2);

Builder.BuildDoor(1,2);

 

Return builder.GetMaze();
};
 
抽象工厂与生成器相似,主要的区别是生成器模式着重于一步步构造一个复杂对象。而抽象工厂着重于多个系列的产品对象。Builder在最后的一步返回,而对于Abstract
Factory来说,产品是立即返回的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: