2

JAVA-设计模式-4-建造者模式

 3 years ago
source link: https://blogs.chaobei.xyz/2021/07/26/JAVA-%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F-4-%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8F/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Hello,又是拖了几天更,实在是忙的要死,有时候忙累了,真的就是倒头睡的那种,刚好今天闲下来了。今天来更新一篇建造者模式。

其实建造者模式,我们已经在上一节已经有了解过了。只不过是上一节没有提到这样的一个概念。可能大家都觉得抽象工厂模式一般都是那样用的,其实里面已经包含了我们这一节的内容。

且听我细细道来。

建造者模式 又称作Builder 模式,它将一个复杂对象 拆分成多个小组件,将一个个小组件组装成复杂的对象。这就是建造者模式

举个例子🌰

比如我们的电脑:它是一个复杂对象,我们可以将它拆封成:

  • CPU对象
  • 硬盘对象。。。。

在使用建造者模式组装 的时候,就可以模拟实际我们在DIY 主机的时候,将一个个零件组装成一台可以开机的计算机

建造模式常常与抽象工厂一起使用,建造者类一般通过工厂的抽象方法实例化指定的工厂,然后通过工厂生产对象

image.png

代码我们还是参考上一节的内容,只不过,我改了一个类名,方便大家理解。

//抽象工厂建造者
public class AbstractFactoryBuilder {

public PhoneProduct createPhone(String name) {

AbstractFactory factory = null;

if ("xiaomi" == name) {
factory = new XiaoMiFactory();
} else {
factory = new HuaweiFactory();
}
PhoneFactory phoneFactory = factory.phoneFactory();

return phoneFactory.show();
}
}
  1. 建造者只是指挥对象的创建、调用工厂组装生产对象、不参与产品 是如何构造出来的这个过程。
  2. 建造者与实际产品是解耦的、即使建造者不存在、工厂仍然可以创建产品

简单理解来说就是:

  1. 通过建造者类、简化了我们创建对象的过程,这个过程由建造者 替我们完成,而我们只需要给建造者 一些提示。 这里我们传入了一个名字
  2. 建造者完成对象的组装、我们最后只需要产品。PhoneProduct
  3. 通过抽象工厂,按照名称创建指定的工厂小米工厂,然后再从大工厂里面取出我们这里需要的手机工厂 在通过手机工厂 创建出手机产品
  4. 最后返回给我们的访问类main()

想不到吧,这个所谓的建造者 已经在潜移默化中,已经被我们所使用过了。其实设计模式一点都不难,所谓设计模式,就是前人总结的经验套路、就是这样拿来用的,就这样理解。

http://c.biancheng.net/view/1354.html

https://gitee.com/mrc1999/Dev-Examples

banner


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK