说到建造者模式,建造物,比如:房子;建房子:先建造地基—做墙----窗户—盖板子-----楼梯。。。。
建造房子,都按照部位一步步建造出来的。
组装电脑:主板—电源----cpu----内存条----显卡。。。。
角色:头–身体—手----脚
这样的类型都属于建造形式,所以我们可以想到一种模式的是建造者模式:
代码实现:
比如角色:
public class Charactor
{
public void AddPart(string parts)
{
Debug.Log( parts );
}
}
public interface Builder
{
void BuildHead();
void BuildBody();
void BuildHand();
void BuildFoot();
}
public class CharatorBuilder : Builder
{
private Charactor charactor;
public CharatorBuilder(Charactor charactor)
{
this.charactor = charactor;
}
public void BuildHead()
{
//实例化一个头的预制体,将预制体添加到charactor的子节点下
charactor.AddPart( "头" );
}
public void BuildBody()
{
//实例化一个身体的预制体,将预制体添加到charactor的子节点下
charactor.AddPart( "身体" );
}
public void BuildFoot()
{
//实例化一个脚的预制体,将预制体添加到charactor的子节点下
charactor.AddPart( "脚" );
}
public void BuildHand()
{
//实例化一个手的预制体,将预制体添加到charactor的子节点下
charactor.AddPart( "手" );
}
}
//指挥建造的顺序
public class BuilderDir
{
public void Direction(Builder builder)
{
builder.BuildBody( );
builder.BuildFoot( );
builder.BuildHand( );
builder.BuildHead( );
}
}
//测试
public class Test
{
Charactor charactor ;
CharatorBuilder charatorBuilder;
BuilderDir builderDir;
public void Init()
{
charactor = new Charactor( );
charatorBuilder = new CharatorBuilder( charactor );
builderDir = new BuilderDir( );
}
public void test()
{
builderDir.Direction( charatorBuilder );
}
}
这就是个简单的建造者模式这里的建造者主要是3个类:
角色(显示的效果) -----建造者(建造的部位)------指挥者 (建造的顺序等等)
总的来说:
用户只需要给出指定复杂对象的类型和内容;
建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)

本文深入讲解了建造者模式的概念及其实现方式,通过角色、建造者和指挥者三个核心类的构建,展示了如何按顺序创建复杂对象,同时隐藏内部建造过程和细节。

被折叠的 条评论
为什么被折叠?



