JAVA设计模式 4【创建型】理解建造者模式

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

posted @ 2020-07-01 22:45  程序猿小码  阅读(177)  评论(0编辑  收藏  举报