设计模式
2022-04-18 11:05:19 0 举报
AI智能生成
java24种设计模式
作者其他创作
大纲/内容
7个原则
单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】
一个类负责一项职责
里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】
有引用父类的地方,一定也可以替换为其子类
依赖倒置原则【DEPENDENCE INVERSION PRINCIPLE】
高层模块不应该依赖低层模块,二者都应该依赖其抽象
细节应该依赖抽象
接口隔离原则【INTERFACE SEGREGATION PRINCIPLE】
建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少
迪米特法则【LOW OF DEMETER】
低耦合,高内聚
最小化、简单化模块间的通信,并达到松耦合的目的
开闭原则【OPEN CLOSE PRINCIPLE】
对扩展开放,对修改关闭
不应该修改老代码,应该写新代码
组合/聚合复用原则【Composition/Aggregation Reuse Principle(CARP) 】
尽量使用组合和聚合少使用继承的关系来达到复用的原则
创建型
单例
6种实现方式
简单工厂
在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口
工厂方法
定义了一个创建对象的接口,但由子类决定要实例化哪个类。工厂方法把实例化操作推迟到子类
抽象工厂
生成器
封装一个对象的构造过程,并允许按步骤构造
原型模式
使用原型实例指定要创建对象的类型,通过复制这个原型来创建新对象
结构型
外观
使用原型实例指定要创建对象的类型,通过复制这个原型来创建新对象
适配器
把一个类接口转换成另一个用户需要的接口
桥接
将抽象与实现分离开来,使它们可以独立变化
JDBC
组合
将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独对象和组合对象
装饰器
为对象动态添加功能
享元
利用共享的方式来支持大量细粒度的对象,这些对象一部分内部状态是相同的。
代理
控制对其它对象的访问
行为型
责任链
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止
javax.servlet.Filter#doFilter()
策略
定义一系列算法,封装每个算法,并使它们可以互换
模板
定义算法框架,并将一些步骤的实现延迟到子类
命令
将命令封装成对象中,以便使用命令来参数化其它对象,或者将命令对象放入队列中进行排队,或者将命令对象的操作记录到日志中,以及支持可撤销的操作
java.lang.Runnable
观察者
定义对象之间的一对多依赖,当一个对象状态改变时,它的所有依赖都会收到通知并且自动更新状态
访问者
为一个对象结构(比如组合结构)增加新能力
状态
允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它所属的类
解释器
为语言创建解释器,通常由语言的语法和语法分析来定义
迭代器
提供一种顺序访问聚合对象元素的方法,并且不暴露聚合对象的内部表示
中介者
集中相关对象之间复杂的沟通和控制方式
备忘录
在不违反封装的情况下获得对象的内部状态,从而在需要时可以将对象恢复到最初状态
0 条评论
下一页