摘要:一,什么是代理模式 定义 为其它对象提供一种代理以控制对这个对象的访问。代理设计模式的英文名是 Proxy pattern,和我们常见的 delegate(委托) 没关系。 代理模式的组成抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的
阅读全文
摘要:一,什么是策略模式 定义 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 使用场景 场景一 一个类在执行中使用多个if-else来决定行为。需要算法的各种变体。对客户隐藏具体策略(算法)的实现细节,彼此完全独立。 场景二 出
阅读全文
摘要:一,什么是桥接模式 定义 抽象出层次结构。上层抽象接口的职能,实现上层抽象接口的职能,层级间的通信协议(可以抽象为接口)。桥接模式的目的,就是把抽象层次结构从具体的实现中分离出来,使其能够独立变更。抽象层次定义了供客户端使用的上层抽象接口。实现结构定义了供抽象层使用的底层接口。实现类的引用被封装到控
阅读全文
摘要:1、什么是单例模式 单例模式的定义某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。Ensures a class has only one instance, and provide a global point of access to it.保证一个类只有
阅读全文
摘要:一,适配器的定义 定义 将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 需求场景 需要使用以前开发的“一些现存的对象”,但是新环境中要求的接口是这些现存对象所不满足的 二,适配器的结构图 实现步骤: 结构图: 三,代码示例 接口协议 C
阅读全文
摘要:一,什么是工厂模式 模式定义: “专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类。” 世界上就是由一个工厂类,根据传入的参数,动态地决定创建出哪一个产品类的实例。 需求场景: 简单工厂的生活场景,卖水果的小贩,他给你提供苹果,橘子等水果,小贩就是一个工厂,他为你提供苹果,橘子等
阅读全文
摘要:一,什么是观察者模式 定义: 定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。 需求场景: 当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变;或者一个对象必须通知其它对象,而它又不能假定其它对象是谁,换言之,我们不希望这些
阅读全文
摘要:一,什么是装饰模式 模式定义 装饰者包含被装饰者的所有接口和引用,方法实现完全是引用调用自己的方法,在装饰者子类添加新功能。 注释: Category不要重写被装饰对象的方法,否则改变了被装饰对象的行为,不符合装饰者模式,只可适用特殊场景。分类主要用于对被装饰者类的方法和属性拓展 需求场景 静态库扩
阅读全文