今天重读建造者模式【Build Pattern】,终于明白了其存在之意图和应用之场景。
其意在创建一个复杂的对象,这个对象由一系列稳定的动作组成,单不同的产品具体的动作实现又不一样。而其中重点在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示
这个抽象和封装的过程非常类似于模板方法模式,但是要注意他们的关注点不同:模板方法重在“行为”,是指稳定的一系列动作的实现,属于行为型模式;而建造者模式则意在对象的创建,创建一个复杂的、具有多个实现步骤的对象,属于创建型模式。
下面的代码实现电脑的组装。一台电脑可看做一个复杂的对象,其组装过程需要安装cpu,主板,内存,硬盘等部件。当然不同品牌的电脑安装的部件又不相同,但是这个过程中每个步骤都是不可少的,是稳定的。
结构图:
{
computer.SetCpu();
computer.SetHardDisk();
computer.SetKeyBoard();
computer.SetMemory();
}
}
}
学习参考:
http://www.cnblogs.com/Terrylee/archive/2005/12/19/299878.html
http://www.cnblogs.com/zhenyulu/articles/37378.aspx
大话设计模式之建造者模式