设计模式-建造模式(一碗牛肉面的制造过程)
设计模式-建造模式
参考资料:
《java与模式》
《设计模式-可复用面向对象软件的基础》
《C#技术揭密》
摘要:介绍Gof设计模式创建模式中的建造模式,结合一个生活中的一个,来说明建造模式的使用场合和使用方法
工厂模式中,创建对象是直接创建的,而对一个复杂的对象来说,用建造模式更适合,它一步一步的创建一个复杂对象。
基本的模式是这样的
interface Builder
{
//建造“零件”
void BuildPart1();
void BuildPart2();
//返回产品
Product GetProduct();
}
这样从此类继承的建造者,可以根据上面定义的两种建造零件方法,构造任意复杂的建造者。
/*
* created by sharpdevelop.
* user: administrator
* date: 2004-12-02
* time: 19:57
*
* to change this template use tools | options | coding | edit standard headers.
*/
using System;
namespace builder
{
class mainclass
{
public static void Main(string[] args)
{
SnackShop snackShop=new SnackShop();
NoodleBuilder bcnwc=new BeefCutNoodleWithCarawayBuilder();
Noodle noodle=snackShop.CreateBeefCutNoodleWithCaraway(bcnwc);
Console.ReadLine();
}
}
//定义快餐店
class SnackShop
{
public SnackShop()
{}
//客户端创建加香菜牛肉刀削面的方法
public Noodle CreateBeefCutNoodleWithCaraway(NoodleBuilder noodleBuilder)
{
noodleBuilder.BuildNoodle();
noodleBuilder.BuildMeat();
noodleBuilder.BuildPureNoodle();
noodleBuilder.BuildSoup();
noodleBuilder.BuildVegetable();
Console.WriteLine("一碗香喷喷的牛肉刀削面加香菜做好啦!\n");
