先举个小例子,差不多就了解观察者模式是什么玩意了
比如有一个天气数据中心,
有2个app(如墨迹天气、天气预报)的数据都是订阅这个数据中心的
当天气数据中心得到最新的天气情况,就会触发一个通知,通知所有的观察者,即上文说的墨迹天气、天气预报
这时候又来了一个新的天气app,比如某...
汪明鑫
5年前 (2019-09-16) 962浏览 0评论
7喜欢
前言
学习命令模式痛苦的地方就是很多用不到,
真正开发也很少会刻意去写,就算用到也是有几个比较常见的
但还是得逼着自己看设计模式。。。
为了实现下一步研究spring源码的目标,硬着头皮去看点喽
接下来计划学习访问者模式、迭代者模式、观察者模式。。。一步步来吧
计划9月底前把设计...
汪明鑫
5年前 (2019-09-07) 855浏览 0评论
0喜欢
前言
装饰者模式顾名思义,做一个装饰
对原有逻辑进行一个包装,锦上添花
动态的把新功能附加到对象上,就像插件一样,即插即用
是继承的替代方案,但比只用的继承的承弹性更大,更灵活,且遵循设计模式原则
类图
Component:抽象组件(可以是抽象类...
汪明鑫
5年前 (2019-08-27) 892浏览 0评论
0喜欢
前言
解耦抽象和实现,使得两者可以独立的变化。
多重继承的替代方案
此处的 抽象 并不是指 抽象类 或 接口 这种高层概念,实现 也不是 继承 或 接口实现 。
抽象 与 实现 其实指的是两种独立变化的维度。其中,抽象 包含 实现,因此,一个 抽象 类的变化可能涉及到多种维度的变...
汪明鑫
5年前 (2019-08-26) 841浏览 0评论
0喜欢
前言
建造者模式顾名思义造东西的,因此是创建型设计模式
建房子需要打地基、砌墙、封顶
地基、砌墙、封顶都是建房子的必须的一部分,固定的建造部分组成整体
就可以使用建造者模式
过程和建造房子的部分相同,但不同的房子建造的高度质量等不太一样
通用类图
(...
汪明鑫
5年前 (2019-08-21) 866浏览 0评论
0喜欢
原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
以原型为模,克隆出所有属性均相同的对象
如克隆羊多利,记住这个例子,就不难理解原型模式了
使用场景
● 资源优化场景
类初始化需要消化非常多的资源,这个资源包括数据、硬件资源...
汪明鑫
5年前 (2019-08-20) 792浏览 0评论
0喜欢
之前已经有一篇关于模版方法模式的例子
现在看看写的有些烂,另开一篇
模版方法,顾名思义,按照一定的模版(规则、步骤)来执行的方法
核心思想:
把算法的结构和步骤定义在抽象模版方法类中,而其实现类,实现具体的方法。
既统一了算法的步骤,又可...
汪明鑫
5年前 (2019-08-19) 830浏览 0评论
2喜欢
前言
创建型设计模式:工厂方法、抽象工厂、建造者、原型、单例
工厂模式就占了两个,而单例模式和建造者模式也是经常使用的
工厂模式有三种简单工程模式、工厂方法模式、抽象工厂模式
简单工厂模式当生产的产品扩展后,还要修改生成对象的代码,违背了设计模式的原则
因此严格来说,简单工厂模式...
汪明鑫
5年前 (2019-08-16) 871浏览 0评论
1喜欢
设计模式七大原则是23种设计模式依据的原则,分别为
单一职责原则、接口隔离原则、依赖倒转原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则
单一职责原则
【Single Responsibility Principle】
对类来说的,即一个类应该...
汪明鑫
5年前 (2019-07-16) 1259浏览 0评论
0喜欢
接口和API
一般而言,在提到某个类的接口时,多指该类所持有的方法的集合,也可以当作API(application programming interface)。
但在java中,也把用interface修饰的称为接口。
简单回顾UML
UML Unifie...
汪明鑫
5年前 (2019-07-15) 919浏览 2评论
0喜欢