一、定义
建造者模式:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式称为建造者模式。
概念较为复杂,我们还是通过实例需求进行建造者模式的理解。
概念:一个类的接口转换成客户端希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。即根据已有的接口,生成想要的接口。
先看下面这个小例子体会一下适配器模式:
1 | public class AppTest { |
本文用来记录工厂模式中,简单工厂、工厂方法和抽象工厂。
上图中,每个功能可以看成一个模块,每个模块要想能正常、更好的使用,一定也会依赖其他的模块,所以需要满足:
为了对下面的实例代码进行演示,先明确两个概念:
需求:
设计一个食物的项目,便于食物种类的扩展,且便于维护。
本章用来介绍设计模式中的原型模式,该模式也是设计模式中较为简单、也是比较常见的一种设计模式。同样给出场景及相应代码层层推进的方式来学习原型模式。
本文用来讲述设计模式中的依赖倒置原则。通过介绍,场景,代码推进的方式进行一步步的讲解。
依赖倒置原则(Dependence Inversion Principle)是指:
本章用来讲述设计模式中的另一个原则——组合优于继承原则,又称为合成复用原则。
该原则是尽量使用合成/聚合的方式,而不是使用继承。
上面一句话就是对该原则的核心,但单单看这么一句话还是显得过于枯燥与不知所云,下面我们还是结合具体的场景进行代码推进,对该原则进行讲解。
假设我们需要设计这样一个集合,每次向里面加入元素时,count
都加一。例如:
最初集合是空集合,此时我们向里面加入"a"
,此时集合为{"a"}
,那么此时count = 1
;当加入"b","c"
两个元素时,集合为{"a","b","c"}
,此时count=3
;此时再删除"a","c"
两个元素,集合为{"b"}
,count
仍然等于3
;最后再加入"d"
,集合为{"b","d"}
,count=4
。
所以该场景是,不论中间是否删除元素,我们只统计加入到集合中的元素的次数,进行返回。
在对设计模式的学习中,首先需要了解、掌握设计模式的七大原则,这样后续对设计模式的学习才能够更加的轻松与透彻。本章用于总结设计模式中的单一职责原则,该原则也是比较容易理解的。
对类来说的,即一个类应该只负责一项职责。如类 A 负责两个不同职责:职责 1,职责 2。当职责 1 需求变更而改变 A 时,可能造成职责 2 执行错误,所以需要将类 A 的粒度分解为 A1,A2。
该场景模拟交通工具使用场景。
目的:模拟交通工具的运输形式。
1 | public class SingleExample { |