设计模式
文章平均质量分 73
经典设计模式介绍
宇宙超级无敌程序媛
Talk is cheap, show me the code.
展开
-
面试 —— 设计模式
选取了面试中常见的设计模式汇总以及demo示例,本文中介绍的设计模式,均在Spring中使用过。 一、工厂模式 创建对象时不暴露创建逻辑,而是通过使用一个共同的接口来创建新的对象。 (一)简单工厂模式 没有遵循开闭原则。能够外界给定的信息, 决定创建哪个具体类的对象。 // 冰淇淋接口 public interface IceCream { public void taste(); } // 三种口味的冰淇淋类 public class...原创 2021-08-30 20:30:09 · 292 阅读 · 0 评论 -
设计模式 —— 装饰者模式
定义 装饰者模式和继承的作用类似,但优于继承。继承往往需要修改基类,装饰者模式支持在不修改任何底层代码的情况下,为对象赋予新的职责。 设计原则:类应该对扩展开放,对修改关闭。 简单的来说,就是在不修改现有代码的基础上,进行功能扩展。 目标:允许类容易扩展,在不修改现有代码的情况下,就可以搭配新的行为。 装饰的思想 以做一杯咖啡为例,比如现在我们要做一杯摩卡和奶泡的深度烘焙咖啡,步骤如下: 拿一个深度烘焙咖啡的对象 用摩卡对象装饰它 用奶泡对象装饰它 调用cost()方法,并依赖委托,原创 2021-07-05 20:59:58 · 151 阅读 · 1 评论 -
设计模式 —— 观察者模式
观察者模式 以报纸的订阅为例: 报社负责出版报纸。 向报社订购报纸后,当有新的报纸出版,报社就会给你送来。 当你不想在收到报纸时,取消订购即可。 报社 + 订购者 = 观察者模式。 观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 主 题(报社) :发送通知给所有实现了观察者接口的对象。 观察者(订购者):实现观察者接口,并注册为观察者即可。 松耦合 松耦合是观察者模式的一个重要特点。改变主题或观察者,并不会影响另一方。 如果...原创 2021-06-23 19:09:55 · 147 阅读 · 1 评论