1.单例模式
单例模式有两个模式,确保任何时候对象只有一个,避免重复创建和释放,应用于对象资源共享和相互通信的情况下。
https://blog.csdn.net/m0_37920739/article/details/80869649
2.工厂模式、工厂方法
工厂模式把创建对象集中,使矛盾集中在工厂类中,导致工厂类会高耦合。
工厂方法是对象创建单独提供专属工厂类,符合开闭原则。
https://blog.csdn.net/m0_37920739/article/details/80977264
3.建造模式
工厂模式注重创建对象,而建造者模式注重的是对象接口的调用过程和组合,注重对象方法。
https://blog.csdn.net/m0_37920739/article/details/104329390
4.原型模式
引用类型重复创建时,可以避免使用拷贝(赋值)构造函数,去复刻对象。
https://blog.csdn.net/m0_37920739/article/details/104336012
5.适配器模式
类适配器是针对适配目标是接口的情况下使用,缺省适配器是是为了弥补接口过大所犯下的过错。
https://blog.csdn.net/m0_37920739/article/details/104356350
6.桥接模式
桥接模式是关联关系,降低类之间的耦合,功能模块可以进行重复利用。
https://blog.csdn.net/m0_37920739/article/details/104363943
7.过滤器模式
对数据组按照一定条件进行筛选。
https://blog.csdn.net/m0_37920739/article/details/104377144
8.组合模式
可以表达模块之间的层级关系,比如系统窗口或者文件夹的实现。
https://blog.csdn.net/m0_37920739/article/details/104392068
9.装饰器模式
动态给对象添加额外的职责,增加新的功能,用来修饰基本对象。
https://blog.csdn.net/m0_37920739/article/details/104397028
10.外观模式
将多个对象组合调用提供出外观类接口,隐藏访问子功能的复杂性。
https://blog.csdn.net/m0_37920739/article/details/104401180
11.享元模式
可以将稳定不变的数据进行重复利用,避免数据的频繁创建和释放,也优化程序内存占有。
https://blog.csdn.net/m0_37920739/article/details/104403262
12.代理模式
抽离出安全、权限层,用来对目标对象访问权限进行控制。
https://blog.csdn.net/m0_37920739/article/details/104419239
13.责任链模式
责任链是让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链把请求的数据传递下去,直到遇到递归弹栈的条件。
https://blog.csdn.net/m0_37920739/article/details/104421083
14.命令模式
将某些功能函数封装成对象,这样就可对函数功能进行保存。
https://blog.csdn.net/m0_37920739/article/details/104428753
15.解释器模式
解释器模式相当于翻译官,一些固定语法构建出解释语句。可以实现对象转换成Json、Xml或者数据库的简单调用。
https://blog.csdn.net/m0_37920739/article/details/104453312
16.迭代器模式
迭代器模式支持以不同方式遍历聚合对象,使数据和遍历数据的职责进行分离。
https://blog.csdn.net/m0_37920739/article/details/104478904
17.中介者模式
主要解决复杂的对象引用和相互调用时,导致代码变得很乱,将调用方式集中在中介者里。
https://blog.csdn.net/m0_37920739/article/details/104485195
18.备忘录模式
提供一种恢复状态的机制,可以方便地回到某个历史状态,用户不必关心数据保存方式。
https://blog.csdn.net/m0_37920739/article/details/104496825
19.观察者模式
可以减少通知类过于庞大,建立了一套触发机制,并支持广播通讯。
https://blog.csdn.net/m0_37920739/article/details/104504114
20.空对象模式
空对象去取代空引用,主要目的是当数据是空引用时提供一种默认的处理方式。
https://blog.csdn.net/m0_37920739/article/details/104516476
21.状态模式
减少分支和循环语句,实现了状态之间自动切换关系。
https://blog.csdn.net/m0_37920739/article/details/104525017
22.策略模式
算法可以自由切换,和状态模式相比切换是可控的,状态模式是内控的。
https://blog.csdn.net/m0_37920739/article/details/104535936
23.模板方法模式
此模式经常使用,封装不变部分,扩展可变部分,提取公共代码,便于维护和使用。
https://blog.csdn.net/m0_37920739/article/details/104545812
24.访问者模式
提供访问数据的方式,因数据不易变,访问数据方式易变的,将两者分离实现,代码更好的维护。
https://blog.csdn.net/m0_37920739/article/details/104554491
25.MVC模式
MVC模式是通过中介模式实现的,提供了一种概念。视图层、控制层、模型数据层代码进行分层开发,可使项目工程结构清晰。
https://blog.csdn.net/m0_37920739/article/details/104561603
项目工程链接:https://download.csdn.net/download/m0_37920739/10964463。项目工程和文章实现的Demo不同,自我感觉文章里提供的Demo更加有便于学习和理解。