天天看点

Java建造者模式,用代码体验LEGO的快乐

作者:千锋教育

前言

本文主要讲述Java设计模式中的建造者模式,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。

一.什么是建造者模式

建造者模式是23种设计模式中创建型模式的一种,它关注的是对象创建的步骤,将一个复杂的对象抽象出来,一步步地把一个复杂的对象创建出来。

二.生活中的建造者模式

1.音乐

每一首动人的歌曲都是通过由一个个美妙的音符组合而成,使用相同音符但是不同循序组合而成的歌曲也会是不同的歌曲,而这样形成的歌曲就像是设计模式中的建造者模式。

2.国粹

麻将是中国的国粹。麻将的打法不同地区不一样,个数也不一样,但是总归分为那么几类牌,而不同的牌能够组合成不同的胡牌的牌型,而通过不同的的麻将子形成的胡牌牌型就像是设计模式中的建造者模式。

3.LEGO

乐高(LEGO),知名的老少皆宜的玩具,乐高积木是由一块块的小积木拼接成一个个的成品模型,根据每个人的动手能力和想象力拼出来的成品也会不一样。由不同积木组合而成的乐高成品就像是设计模式中的建造者模式。

Java建造者模式,用代码体验LEGO的快乐

三.建造者模式的实现

接下来以一个人型乐高的模型来举例,用建造者模式来实现。先创建一个产品角色乐高类

Java建造者模式,用代码体验LEGO的快乐

接下来创建抽象建造者和具体建造者钢铁侠乐高类

Java建造者模式,用代码体验LEGO的快乐

再创建一个指挥者乐高的指挥者类

Java建造者模式,用代码体验LEGO的快乐

最后通过建造者模式来创建我们需要的乐高对象。

Java建造者模式,用代码体验LEGO的快乐

四.总结

通过建造者模式创建对象,封装性和扩展性会很好,客户端不需要知道产品内部组成的细节。但是每个产品组成部分必须相同,限制了使用范围,比如想创建个房子的乐高,那组合部分跟钢铁侠和高达都不同就创建不出来了。因此必须是相同的内部组成结构才会选择使用建造者模式。

下一章将带大家学习身外身法之术(设计模式之原型模式)。

以上就是我们本篇的全部内容啦,本期以LEGO为例,为大家讲解了Java设计模式中的建造者模式,不知道大家是否学会了呢~

编程并不枯燥,如果有技术类问题,欢迎大家和我们一起交流讨论!

Java设计模式详解,抽象工厂模式是怎么回事?

Java课堂|餐饮的本质(设计模式之工厂模式)

Java课堂|独一无二的事物(设计模式之单例模式)

Java之程序中的套路(设计模式的介绍)

更多技术类干货/IT程序员资讯,关注@千锋教育

继续阅读