设计模式中的建造者模式,一文就能看懂(java实现)

设计模式中的建造者模式,一文就能看懂(java实现)

首页模拟经营房屋建造者手机版更新时间:2024-06-07

建造者模式其实理解起来也是比较容易的。比如工地上建房子,对于我们用户来说不需要知道房子是如何建造的,到时候我们只需要去购买就好了,对于开发商来说他只需要指挥下面的无数个包工头去建造就好了,对于包工头他就要知道知道房子的每一个细节,确保万无一失。其实这就是建造者模式,它把创建对象的一些复杂过程(建造衣服)给封装了起来,我们程序员想要new一个新的对象,只需要说出自己条件就好了。

OK,了解了建造者模式的基本思想,下面就深入的了解一下

一、认识建造者模式

上面的例子如果你有点懵,没关系下面好好地理一理。使用一张图来表示一下建造者模式

上面的流程梳理一下,一共有5个角色

(1)用户:也就是我们消费者,用户提要求,要建一个什么样的房子

(2)Director(开发商):他自己不会开发,就像万达老板一样可能不会砌墙这些,但是他找包工头去做,他只需要去调用这些包工头就造房子就好了。

(3)Builder(抽象的包工头):给出一个抽象接口,规定房子由哪几部分组成,如何去建造。给下面的包工头一个建房子的规范。

(4)ContreteBuilder(具体包工头):真正建房子的人,但是每一个包工头可以建不同的房子。

(5)Product(房子):也就是我们的产品类。

再给出一张类图看一下他们几个在类上的关系

明白了吧。如果还不清楚,在往下看,代码去演示一下。

二、代码实现建造者模式

我们代码实现的时候,是从后往前走的,比如说是先有房子然后建造者这些。

第一步:定义Product(房子)

第二步:抽象建造者接口

第三步:具体建造者(这里有两个包工头A和B)

包工头B和A是一样的代码。只是名字不同,这里就给出一个

第四步:Director(开发商指挥者)

第五步:用户

三、总结

(1)优点

(2)缺点

OK,建造者模式就先讲到这里,如有问题还请批评指正。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved