设计模式 - 第三周
什么是设计模式
一切设计感觉就是为了偷懒,可重用,可替换,避免重复。
工厂模式
用于生产创造方法相通功能不同的对象。
单例模式
全局唯一对象
存在于整个运行的生命周期,供全局环境使用。
适配器模式
不同的类型接口间做桥接。
不同语言之间的调用,类型转换等。
模板方法模式
定义一个执行模板流程
1. 将相同处理流程的合并。
2. 约束执行流程。
3. 屏蔽底层处理逻辑,简化上层处理。
策略模式
执行逻辑可变更
例: 需要排序功能,实现不同的排序算法(冒泡排序和快速排序等)。不同的数据可以选用不同的排序。
组合模式
主要用于处理树型结构。
装饰器模式
对原有的对象的进一步修饰。
例 我 -> 帅气的我 -> 迷人的帅气的我
注: 感觉和组合模式很相似。
依赖注入 - 控制反转
如果清楚依赖和关联关系区别,就清楚的了解啥是依赖注入了。
写代码时通常不考虑变动,在创建过程中,直接将 a(b)关系明确;而依赖是在运行中,b作为a的形参参入,所以b可变更得。
控制反转就是不要上手,你要啥说下,由别人提供给你。
写代码通常是自己创建对象,并维护对象的生命周期。控制反转则是自己提供规则,由中间商代做。
感觉这样更符合现实,毕竟没有万能对象啥都能造,但可拥有。
https://zhuanlan.zhihu.com/p/33492169
https://blog.csdn.net/sinat_21843047/article/details/80297951
参考
https://www.runoob.com/design-pattern/decorator-pattern.html
版权声明: 本文为 InfoQ 作者【X﹏X】的原创文章。
原文链接:【http://xie.infoq.cn/article/c8aca6e602f4acbb50d3e41c0】。文章转载请联系作者。
评论