(全网最详细讲解)C#设计模式——建造模式实验

实验二  建造模式实验

一.实验目的

1.了解建造模式创建复杂对象的基本思路和方法,熟悉该模式中各个对象角色的基本功能;

2.理解建造模式在进行复杂对象创建中,是如何实现复杂对象的构建过程与表示分离的。

3.熟悉建造模式的类图结构,并能利用该模式实现较为复杂对象的创建;

实验内容

通过如下对组装电脑的装配与获取过程描述,设计一个建造模式应用的场景。

1)客户来询问所需汽车的配置。

2)销售人员确定配置清单,包括汽车品牌、型号、发动机类型等。

3)准备汽车配件,包括发动机、门、车胎等。

4)技术人员按照组装流程装配相应的汽车:先组装底盘和车身,然后将发动机安装到底盘上,接着安装内饰等零部件。

5)整车交付给客户。

在该场景中,确定模式应用的各个角色如下:

客户:需要购买定制化的汽车,提供配置需求。

销售人员:与客户沟通,确定汽车的配置清单。

技术人员(建造者):根据配置清单,组装汽车并进行质量检查。

汽车(产品对象):具有特定品牌、型号、发动机类型、驱动方式等配置。

创建产品对象的基本过程如下:

1)安装车身(BuildCarDoor

2)组装车轮(BuildCarWheel

3)安装发动机(BuildCarEngine

为了区分不同类型的汽车,可以设置两种汽车产品的表现形式:

别克(BuickBuilder):适合日常通勤,舒适、省油型。

奥迪(AoDiBuilder):专为高速驾驶和赛道运动而设计,性能强劲、操控灵活。

通过建造者模式应用于组装汽车的场景,可以灵活地定制和创建符合客户需求的汽车,并且可以方便地添加新类型的汽车配置。

三.实验过程

 

四.调试和运行结果

进入主程序,创建 Director 指挥者 类它负责协调构建过程。

Director类将按照指定的顺序使用传入的Builder对象来构建汽车的各个组件。

用于构建汽车的不同组件,车门、车轮和发动机。定义了一个抽象方法GetCar,获得组装好的汽车对象。构建过程的各个步骤,并提供一个方法来获取最终构建完成的汽车对象。

构建一个 Car类的 Add方法,将组装的部件组装到一起,Show方法循环IList显示组装进度

BuickBuilder类实现了在Builder抽象类中定义的构建方法,用于构建别克汽车的各个组件。

通过调用director.Construct(buickCarBuilder),director对象将使用传入的buickCarBuilder对象来指导构建别克汽车的过程。

在Construct()方法中,根据一定的顺序调用传入的buickCarBuilder对象的构建方法,构建别克汽车的各个组件(车门、车轮、发动机)。

当该方法执行完毕,buickCarBuilder对象将构建好所有的组件。

然后可以通过调用buickCarBuilder.GetCar()获取构建好的别克汽车对象。

循环list并将组装的显示出来

五.实验总结

建造者模式把复杂对象的构建过程与表示分离,指挥者类 Director 负责协调过程和顺序,建造类 Builder 负责实际的构建工作。可以灵活地组合不同的构建步骤,使得同样的构建过程可以创建不同的表示,我们可以使用相同的Director和不同的Builder对象来构建不同类型的汽车。构建过程更具可读性和可维护性。通过在 建造 Builder 类中定义将要构建的组件和步骤的抽象方法,代码结构更清晰,易于理解和修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值