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的更多相关文章
随机推荐
- PAT1127:ZigZagging on a Tree
1127. ZigZagging on a Tree (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...
- Netty中如何写大型数据
因为网络饱和的可能性,如何在异步框架中高效地写大块的数据是一个特殊的问题.由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture.当这种情况发生时,如 ...
- java中判断文件及所在文件夹是否存在
File file=new File(filePath);if (file.exists()) {}else { File fileParent =new File(file.getParent()) ...
- SSM-SpringMVC-01:SpringMVC是什么?SpringMVC执行流程
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- SpringMVC简介: SpringMVC也叫Spring Web mvc,属于表现层的框架.Sprin ...
- 000webhost虚拟主机绑定自定义二级域名
作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=558 前言: 最近想给导航狗IT信息导航做一个文件服务器专门存放文件,以提供引用或下载.于是,我在000webhost上 ...
- ansj原子切分和全切分
ansj第一步会进行原子切分和全切分,并且是在同时进行的.所谓原子,是指短句中不可分割的最小语素单位.例如,一个汉字就是一个原子.全切分,就是把一句话中的所有词都找出来,只要是字典中有的就找出来.例如 ...
- selenium中浏览器及对应的驱动(可下载)
https://blog.csdn.net/huilan_same/article/details/52615123,灰蓝大神的总结,可直接下载 下载chrome浏览器,查看版本 http://blo ...
- 给xmpphp添加了几个常用的方法
给xmpphp添加给了以下的常用方法: registerNewUser //注册一个新用户 addRosterContact //发送添加好友的请求 acce ...
- js算法初窥04(算法模式01-递归)
终于来到了有点意思的地方--递归,在我最开始学习js的时候,基础课程的内容就包括递归,但是当时并不知道递归的真正意义和用处.我只是知道,哦...递归是自身调用自身,递归要记得有一个停止调用的条件.那时 ...
- BZOJ_2561_最小生成树_最小割
BZOJ_2561_最小生成树_最小割 题意: 给定一个边带正权的连通无向图G=(V,E),其中N=|V|,M=|E|,N个点从1到N依次编号,给定三个正整数u,v,和L (u≠v),假设现在加入一条 ...