Published onFebruary 25, 2024设计模式(11)——享元 Flyweight设计模式享元模式与简单工厂模式有点像,都用到了工厂的概念。其实享元模式里面就是用到了简单工厂模式来管理细粒度对象。享元模式解决的问题是对象的共享,而工厂模式解决的问题是如何封装对象的创建过程。明白它们两解决的问题,就知道它们是两种完全不一样的模式。但是它们却可以完美地结合在一起,协同解决问题。
Published onFebruary 25, 2024设计模式(12)——代理 Proxy设计模式Proxy 提供的接口(方法、函数)与实体同名,是一致的,而 Adapter 与 Adaptee 的接口(方法、函数)名称可能不同。适配器模式与代理模式最大的不同还是在于他们的出发点(初心)不同,适配器模式是为了做兼容,而代理模式的核心是为了增加功能。当然适配器在做适配的时候,也可以增加功能,这样它就跟代理模式非常接近了。
Published onFebruary 25, 2024设计模式(13)——职责链 Chain Of Responsibility设计模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
Published onFebruary 25, 2024设计模式(14)——命令 Command设计模式命令模式的类图和适配器模式的类图很像,它们做的事情都是制造了一个中间层, 提供给系统统一的调用接口,封装了真正干活的实体。它们的差异还是在于使用意图,命令模式是为了命令的复用和灵活切换,而适配器模式是为了在新旧接口之间做兼容。
Published onFebruary 25, 2024设计模式(15)——解释器 Interpreter设计模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。所谓的领域专用语言指的就是这种在某些领域使用的比较专业性的程序语言,为了实现这种语言,通常抽象一个解释器类去解析这种语言。