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的更多相关文章
随机推荐
- Linux Ubuntu 16.04 初次安装使用总结zzz
装了两天的ubuntu系统终于算是勉强能用了,来来回回装了有三四次,期间出了各种各样的毛病.但是还是被我的Google大法给治好了.为了装这个系统,算是耗了两天的时间,啥事情都没干,干耗在这上面了.所 ...
- c语言,数据结构,链表的一些操作总结
下面是自己的一些学习操作以及总结,能用我会很开心,有不足之处,欢迎大家提出宝贵的意见! c语言链表是一种基本的数据结构,与顺序表一样属于线性表,但是顺序表在内存中的存储单元是连续的,这样就对内存的要求 ...
- nginx常用配置系列-虚拟主机
本来准备详尽的出一份nginx配置讲解,但nginx功能配置繁多,平常使用中使用最多的一般有: 1. 虚拟主机配置 2. HTTPS配置 3. 静态资源处理 4. 反向代理 ============= ...
- 用redis的scan命令代替keys命令,以及在spring-data-redis中遇到的问题
摘要 本文主要是介绍使用redis scan命令遇到的一些问题总结,scan命令本身没有什么问题,主要是spring-data-redis的问题. 需求 需要遍历redis中key,找到符合某些pat ...
- java通过反射获取字段的类型
import java.lang.reflect.Field; //这是需要引入的包 Field[] f = 类名.class.getDeclaredFields(); //获取该类的字段for(F ...
- APNs 推送原理及问题
http://bbs.csdn.net/topics/390461996 在 iOS 平台上,大部分应用是不允许在后台运行并连接网络的.在应用没有被运行的时候,只能通过 Apple Push Noti ...
- sed、awk——运维必须掌握的两个工具
今天主要跟大家介绍2个非常霸道的工具,sed和awk,本篇文章将介绍这两个工具在日常运维中的常用用法,工作中这两个工具要掌握好了在结合一些管道命令.正则表达式,日常处理事务简直666啦! l Sed ...
- Python 枚举
1. 枚举的定义 首先,定义枚举要导入enum模块.枚举定义用class关键字,继承Enum类.用于定义枚举的class和定义类的class是有区别. 示例代码: from enum import E ...
- stats.go
, len(c.clients)) for _, client := range c.clients { clients = append(cl ...
- Java RESTful 框架的性能比较
来源:鸟窝, colobu.com/2015/11/17/Jax-RS-Performance-Comparison/ 如有好文章投稿,请点击 → 这里了解详情 在微服务流行的今天,我们会从纵向和横向 ...