责任链设计模式是一种行为型设计模式,其主要目的是解耦请求发送者和请求接收者,让多个对象都有机会处理请求。
静态代理中,我们对目标对象的每个方法的增强都是手动完成的(后面会具体演示代码),非常不灵活(比如接口一旦新增加方法,目标对象和代理对象都要进行修改)且麻烦(需要...
在很多时候,我们的代码中可能会有一些公共的部分并且还有一些定制的部分,那么公共这部分就可以定义在一个父类中,然后将定制的部分实现在子类中。这样子类可以根据需要扩...
通过上面的策略模式的实现方式,如果要添加一个运算操作,我们只需要新增一个实现类,无需修改原有的任何业务逻辑,符合开闭原则
工厂模式的主要功能就是帮助我们实例化对象的。之所以名字中包含工厂模式四个字,是因为对象的实例化过程是通过工厂实现的,是用工厂代替new操作的。
要知道设计模式就是软件工程的方法经验的总结,也是可以认为是过去一段时间软件工程的一个最佳实践,要理解,不要死记硬背。掌握这些方法后,可以让你的程序获得以下好处:
l例如现在常见的全屋智能系统,有一个功能强大但操作复杂的“智能家居控制中心”。它需要你分别操作灯光、空调、音响、窗帘等多个子系统。
它是一种结构型设计模式,它允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。
本节聚焦 Rust 高阶类型技巧与工程化模式:GAT(泛型关联类型)、HRTB(高阶 trait 约束)、型变/不变、PhantomData、新类型/密封 tr...
很多设计模式(如策略模式、状态模式等)都是为了解决复杂条件判断而设计的。掌握基本的条件判断优化技巧,有助于理解这些设计模式的价值。
组合设计模式是一种结构型设计模式。允许我们将对象组成成树状结构,同时,能让我们像使用单个对象使用它们,该模式使用一个通用接口来处理所有对象,不需要让调用方了解具...
桥接模式是一种结构型设计模式,它能将一个大类或者一批耦合比较紧密的类拆分为抽象和实现两个独立的层次结构,从而方便在开发过程中根据场景分别使用。这种拆分能让两种层...
适配器模式是一种结构型设计模式,它允许接口不兼容的对象能够相互合作,通过转换数据格式和调用接口来桥接差异。
一个静态公有的访问器:public static Classname getInstance(); 唯一能访问到单例的对外的接口
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。
原型模式是一种创建型设计模式,它允许开发者通过复制已有对象来创建新对象,而无需让代码依赖对象所属的具体类。
OKHttp 作为一款优秀的网络请求框架,其源码中蕴含了许多巧妙的设计思想。本文将从 设计模式、核心机制和整体优势 等角度,带你深入剖析 OKHttp 的内部实...
设计模式的六大原则是面向对象设计的基石,遵循这些原则可以提升代码的可维护性、可扩展性和可读性。下面对六大原则进行详细解析。