简单上手设计模式

GITHUB:https://github.com/Fisher-Joe/EasyToLearnDesignPattern

本文旨在使用最简单的语言,最简单的代码让人学习设计模式(最起码是我)

说明:

  1. 本文的所有内容都是基于引用文章的再次整理,后续版本也将以此为基础进行扩展和丰富;
  2. 为什么本文中的例子没有改写成C#?其实原作者使用的例子的语言一看即懂不与理解冲突,后续的实例,我将以C#为例;

注意:

  1. 您必须有一定的开发经验才能更好的理解该系列的文章;
  2. 如果你发现某个设计模式,你无法理解,那么请多搜索一下,或者跳下一个看,不要纠结某一个上面;
  3. OOP设计原则是所有设计模式的总纲,如果你够历害,不用看设计模式,只看这个就行了;
  4. 设计模式解决的是变化点,如果没有变化,就用不上它了;
  5. 有的时候要反设计模式,并不是说必须遵守;

0. 总则

设计模式(零):OOP设计原则(设计模式总纲)

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的更多相关文章

随机推荐

  1. Codeforces Round #483 (Div. 2) D. XOR-pyramid

    D. XOR-pyramid time limit per test 2 seconds memory limit per test 512 megabytes input standard inpu ...

  2. 如何用Redis做LRU-Cache

    LRU(Least Recently Used)最近最少使用算法是众多置换算法中的一种. Redis中有一个maxmemory概念,主要是为了将使用的内存限定在一个固定的大小.Redis用到的LRU ...

  3. spring+jotm+ibatis+mysql实现JTA分布式事务

    1 环境 1.1 软件环境  spring-framework-2.5.6.SEC01-with-dependencies.zip ibatis-2.3.4 ow2-jotm-dist-2.1.4-b ...

  4. sql server 死锁排查

    记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了. 现总结下查看死锁的常用二种方式: 第一种是图形化监听: sqlserver --> ...

  5. 由HashMap哈希算法引出的求余%和与运算&转换问题

    1.引出问题 在前面讲解HashMap 的源码实现时,有如下几点: ①.初始容量为 1<<4,也就是24 = 16 ②.负载因子是0.75,当存入HashMap的元素占比超过整个容量的75 ...

  6. 玩转SSH--Hibernate(三)---手动修改数据库,前台查询信息不同步更新问题解决方法

    在用hibernate时遇到一个挺纠结的问题,就是我在手动修改数据库的信息后,前台页面查询到的信息还是之前的结果,一开始以为是缓存的问题,经过多次修改和在网上查询资料,最终发现可能是hibernate ...

  7. Mac下将文件复制到移动硬盘

    在Mac下将移动硬盘格式化成exfat,这样Mac和Windows都可以对移动硬盘进行识别

  8. I/O-----二进制文件的读写

    好吧  已经被I/O刷屏了 这是复制文件 DataInputStream  dis =new DataInputStream(new FileInputStream("src/pcl.jpg ...

  9. bzoj 4129 Haruna’s Breakfast 树上莫队

    按照dfs序分块,莫队乱搞 再套个权值分块 #include<cstdio> #include<iostream> #include<cstring> #inclu ...

  10. BZOJ_3238_[Ahoi2013]差异_后缀数组+单调栈

    BZOJ_3238_[Ahoi2013]差异_后缀数组+单调栈 Description Input 一行,一个字符串S Output 一行,一个整数,表示所求值 Sample Input cacao ...