![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
学习记录设计模式
耀耀耀切克闹
这个作者很懒,什么都没留下…
展开
-
设计模式学习(十)状态模式
设计模式学习(九)迭代器与组合模式状态模式举例 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 状态模式 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 举例 一家糖果公司需要实现一个糖果售货机,它的实现逻辑如下,需要先投入1元,再转动曲柄,机器人吐出糖果,如果还有剩余糖果就继续售货: 如果我们通过条件语句来控制,也可以实现代码逻...原创 2020-05-03 00:22:04 · 132 阅读 · 0 评论 -
设计模式学习(九)迭代器与组合模式
设计模式学习(九)迭代器与组合模式迭代器与组合模式迭代器模式举例附加题组合模式举例 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 迭代器与组合模式 迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 迭代器模式让我们能够游走于聚合内的每个元素,而又不暴露内部的表示。 举例 一个餐厅需要实现菜单项目。其中包括早餐菜单和午...原创 2020-05-02 20:45:53 · 146 阅读 · 0 评论 -
设计模式学习(八)模板方法模式
设计模式学习(八)模板方法模式模板方法模式设计原则举例 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 模板方法模式 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 设计原则 别调用我们,我们会调用你。也就是高层组件来决定什么时候调用低层组件。 举例 我们需要制作咖啡和...原创 2020-04-26 22:09:49 · 86 阅读 · 0 评论 -
设计模式学习(七)适配器模式与外观模式
设计模式学习(七)适配器模式与外观模式适配器模式与外观模式适配器模式举例外观模式 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 适配器模式与外观模式 适配器模式 适配器模式定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 生活中类似的当两角插头遇到三角插座时,我们需要一个交流电适配器来使插座满足插座要求。 举例 ...原创 2020-04-19 19:12:46 · 238 阅读 · 0 评论 -
设计模式学习(六)命令模式
设计模式学习(六)命令模式命令模式举例 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 命令模式 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 举例 设计遥控器,分别装有7组“开”与“关”按钮来控制多个设备,还需要支持整体的撤销功能。 1.首先,我们需要实现命令的接口 public interfa...原创 2020-04-19 16:18:16 · 119 阅读 · 0 评论 -
设计模式学习(五)单件模式
设计模式学习(五)单件模式单件模式经典单件模式改善多线程单件模式同步初始化创建双重检查加锁 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 单件模式 单件模式是非常常用的模式,它确保一个类只有一个实例,并提供一个全局访问点。 我们可以通过私有的构造器来实现类不能让其他类实例化。再通过提供静态方法来获取该类对象。 经典单件模式 public class Si...原创 2020-04-14 23:29:30 · 89 阅读 · 0 评论 -
设计模式学习(四)工厂模式
设计模式学习(四)工厂模式工厂模式简单工厂模式举例工厂方法模式举例抽象工厂模式举例 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 工厂模式 常用的工厂模式可以分为三种类型。 简单工厂模式 其实不是一个设计模式,而是一种编程习惯。 举例 假设现在有个披萨店,我们有非常多的披萨需要制作,所以我们的代码可以写成: public class PizzaStore...原创 2020-04-14 00:25:32 · 124 阅读 · 0 评论 -
设计模式学习(三)装饰者模式
设计模式学习(三)装饰者模式装饰者模式定义设计原则举例问题分析代码 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 装饰者模式 定义 动态的将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。 注意:装饰者会导致设计中出现许多小对象,如果过度使用,会让程序变复杂。 设计原则 对扩展开放,对修改关闭。 举例 有一家咖啡店需要开发订单系...原创 2020-04-12 17:48:26 · 125 阅读 · 0 评论 -
设计模式学习(二)观察者模式
设计模式学习(二)观察者模式观察者模式定义设计原则举例 本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 观察者模式 定义 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会收到通知并自动更新。 设计原则 1.为了交互对象之间的松耦合设计而努力。 举例 当气象站的数据发生改变时,需要通知展示板进行数据更新。三个展示板通过订阅气...原创 2020-04-08 22:59:30 · 101 阅读 · 0 评论 -
设计模式学习(一)策略模式
设计模式学习(一)策略模式策略模式定义设计原则举例分析实现 文本是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本 策略模式 定义 定义了算法组族,分别分装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 设计原则 1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2.针对接口编程,而不是针对实现编程。...原创 2020-04-07 00:25:49 · 97 阅读 · 0 评论