摘要:
解释器模式为特定的语言定义文法(文法就是语法、规则的意思),并提供一个解释器来解析输入的语言(通常是字符串或符号序列)并执行相应的操作。解释器模式适用于需要处理复杂语法的场景,常见于编程语言的解释器、表达式计算器、配置文件解析等。 阅读全文
摘要:
命令模式把请求或者命令封装成一个对象,从而让我们可以使用不同的请求、队列或日志请求、以及支持可撤销的操作等功能。 阅读全文
摘要:
责任链模式是一种处理请求的模式,它让多个处理器都有机会处理该请求,直到其中某个处理成功为止。每个处理器都包含对下一个处理器的引用,从而形成链式结构。责任链模式把多个处理器串成链,然后让请求在链上进行传递。 阅读全文
摘要:
代理模式通过封装一个已有接口,让调用方在不改变任何代码的前提下增强某些功能。 阅读全文
摘要:
享元模式旨在有效共享对象,避免重复创建相同内容的对象,减少内存开销,让你能在有限的内存中载入更多对象。 阅读全文
摘要:
外观(Facade、门面)模式属于结构型模式的一种。 外观模式给客户端提供一个统一入口,并对外屏蔽内部子系统的调用细节。 外观模式通过为一组复杂的接口提供一个统一的高层接口,使得客户端与子系统之间的交互变得更加简单。外观模式旨在将客户端与多个复杂子系统的交互进行解耦,客户端无需了解子系统的内部实现细 阅读全文
摘要:
装饰器(Decorator、Wrapper)模式属于结构型模式的一种。 装饰器模式是动态地给一个对象添加一些额外的职责。 装饰器模式的目的就是把一个一个的附加功能,给一层一层地累加在原始类上。 装饰器模式通常用于系统需要在运行时增加功能的场景,同时避免子类化和扩展原有类的复杂性。 装饰器本身可以继续 阅读全文
摘要:
组合模式(Composite模式)属于结构型模式的一种。 组合模式将对象组合成树形结构以表示部分-整体的层次结构。通过组合模式,可以统一处理单个对象和对象集合,简化了对复杂树形结构的操作。 组合模式适用于需要将对象以树形结构组织的场景。文件系统中的文件和文件夹就是一个典型的使用场景。文件可以看作是叶 阅读全文
摘要:
桥接模式属于结构型模式的一种。 桥接模式的定义颇为玄乎。其主要目的是将抽象部分与实现部分分离,使它们可以独立变化。简单地来说,桥接模式通过引入一个抽象层和具体实现层之间的桥梁,来减少二者之间的耦合度。 桥接模式是为了避免直接继承带来的子类爆炸。 桥接模式通过分离一个抽象接口和它的实现部分,使得设计可 阅读全文
摘要:
适配器模式(Adapter模式)属于结构型模式的一种。 将一个类的接口转换成我们希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,就是适配器。适配器模式旨在解决不同接口之间的兼容性问题。 现在很多笔记本电脑有Type-C的接口,但是你的U盘插不上Type-C的接口,网上很 阅读全文