EasyToLearnDesignPattern
简单上手设计模式
GITHUB:https://github.com/Fisher-Joe/EasyToLearnDesignPattern
本文旨在使用最简单的语言,最简单的代码让人学习设计模式(最起码是我)
说明:
- 本文的所有内容都是基于引用文章的再次整理,后续版本也将以此为基础进行扩展和丰富;
- 为什么本文中的例子没有改写成C#?其实原作者使用的例子的语言一看即懂不与理解冲突,后续的实例,我将以C#为例;
注意:
- 您必须有一定的开发经验才能更好的理解该系列的文章;
- 如果你发现某个设计模式,你无法理解,那么请多搜索一下,或者跳下一个看,不要纠结某一个上面;
- OOP设计原则是所有设计模式的总纲,如果你够历害,不用看设计模式,只看这个就行了;
- 设计模式解决的是变化点,如果没有变化,就用不上它了;
- 有的时候要反设计模式,并不是说必须遵守;
0. 总则
1. 创建模式
设计模式(一):工厂模式 简单工厂|静态工程、工厂方法|多工厂、抽象工厂
设计模式(三):建造者模式Builder与原型模式Prototype
2. 结构模式
设计模式(四):适配器模式 Adapter 类适配器、对象适配器、接口适配器
设计模式(五):装饰器模式(Decorator)和代理模式(Proxy)|委托模式(Delegater)
设计模式(六):外观模式(Fecade)与桥接模式(Bridge)详解
设计模式(七):组合模式(Composite)与享元模式(Flyweight)详解
设计模式(八):过滤器模式(Filter)及Kotlin的Filter模式
3. 行为模式
设计模式(九):策略模式(Strategy)与模板模式(Template)详解及二者间区别介绍(两种父子类行为模式)
设计模式(十):观察者模式|迭代器模式|责任链模式|命令模式(四种类间行为模式)
设计模式(十一):备忘录模式(Memento)|状态模式(State) - (两种类状态行为模式)
设计模式(十二):中介模式|访问者模式|解释器模式(三种中间类行为模式)
参考
https://blog.csdn.net/shenpibaipao/article/details/77162732
EasyToLearnDesignPattern的更多相关文章
随机推荐
- 读《图解HTTP》有感-(HTTP首部)
写在前面 该章节是对请求报文及响应报文的首部信息进行解析.通过该章节的学习,相信大家对首部结构,及各个首部字段的作用有个基本的了解 正文 HTTP报文由HTTP报文首部.空行以及HTTP报文主体组成. ...
- 高通调试 SPI 屏的 bug
1. spi调试问题: 问题描述: spi屏幕lk启动的时候正常出现小企鹅,到kernel启动的过程黑屏并且花屏才到开机动画: 2. 黑屏的三个阶段: 参照:黑屏分析 分析开机过程黑屏,首先需要定位黑 ...
- ReenTrantLock可重入锁(和synchronized的区别)总结
ReenTrantLock可重入锁(和synchronized的区别)总结 可重入性: 从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也 ...
- Mybatis配置文件SqlMapConfig.xml中的标签
SqlMapConfig.xml配置文件中的属性 1 配置内容 properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器 ...
- 二十四、Hadoop学记笔记————Spark的架构
master为主节点 一个集群中可能运行多个application,因此也可能会有多个driver DAG Scheduler就是讲RDD Graph拆分成一个个stage 一个Task对应一个Spa ...
- 使用box-shadow进行画图(性能优化终结者)
最近突然想做一些好玩的东西,找来找去,想到了之前曾经在网上看到过有人用box-shadow画了一副蒙娜丽莎出来感觉这个挺有意思,正好趁着周末,自己也搞一波 前言 在线地址: 优化前的版本优化后的版本源 ...
- app的安装与卸载测试点
安装 1)软件在不同操作系统(Palm OS.Symbian.Linux.Android.iOS.Black Berry OS .Windows Phone )下安装是否正常. 2)软件安装后的是否能 ...
- CSS布局-圣杯布局
圣杯布局 圣杯布局很完美(兼容所有浏览器,包括IE6),但是使用了相对定位,布局有局限性,宽度控制要改的地方也多. 第一种方法公用部分: .lgyz, .lzrg, .lrzcg, .lcgrz, . ...
- I/O------字节输出流
package io.day03; import java.io.FileOutputStream; import java.io.OutputStream; public class day03ou ...
- I/O-----字节输入流
package io.day03; import java.io.FileInputStream; import java.io.InputStream; public class day03 { p ...