摘要: 一、是什么 1. 定义:为另一个对象提供一个替身或占位符以控制对这个对象的访问 (控制访问) 2. 分类: 远程代理: 有点类似dubbo,调用代理的方法,会被代理利用网络转发到远程执行,并把结果通过网络返回给代理,最后返回给客户 虚拟代理: 作为创建开销大对象的代表,一般等该对象创建成功后,在委托 阅读全文
posted @ 2019-08-06 20:08 Other+ 阅读(721) 评论(0) 推荐(0) 编辑
摘要: 一、是什么 1. 定义: 在一个方法中定义一个算法的骨架,将一些步骤延迟到子类中实现 2. 好处: 代码复用, 对于某些算法的实现时,很有效,确定了整体的架子,让子类去实现具体的步骤 二、示例 1. 代码背景: 制作茶的步骤是: 1. 把水煮沸 2.用沸水浸泡茶叶 3. 把冲泡的倒进杯子 4. 加柠 阅读全文
posted @ 2019-08-06 15:48 Other+ 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 一、是什么 1. 定义 工厂方法模式: 由子类决定要创建的具体类是哪一个 抽象工厂: 允许客户创建对象的家族,而无需指定他们的具体类 2. 理解 从定义中可以看出, 抽象工厂包含了工厂方法,区别是抽象工厂创建的是家族 3. 好处: 封装具体对象的创建,促进松耦合 4. 设计原则 依赖倒置原则--依赖 阅读全文
posted @ 2019-08-06 10:41 Other+ 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: 一、是什么?作用 1. 命令模式 将“请求”封装成对象,以使用不同的请求队列或者日志来参数话其他对象,命令模式亦可以来支持撤销的操作 2. 将请求封装成命令对象,请求的具体执行由命令接收者执行; 作用: 命令发送者与命令执行者解耦; 每一个命令都是一个操作 3. 类图 Invoke(调用者): 调用 阅读全文
posted @ 2019-08-05 12:50 Other+ 阅读(1770) 评论(0) 推荐(0) 编辑
摘要: 一、是什么 1. 定义: 在对象集合之间游走,而不暴露集合的实现 二、示例 代理背景: 1. 有汉堡包店和晚餐店的菜单, 假设汉堡包店的菜单是用List存放, 晚餐店是用数组存放的(用不同的存放方式,为了体现迭代器统一的处理方式) 2. 服务生要将两家店的菜单都打印出来 3. 这里先自己重写Iter 阅读全文
posted @ 2019-08-05 09:47 Other+ 阅读(2332) 评论(0) 推荐(0) 编辑
摘要: 一、是什么 定义:简化一群类的接口,达到屏蔽代码的复杂度 使用场景: 封装一系列复杂接口,以提供一个服务,简化接口 二、示例 现在模拟在家看漫威,哈哈哈 复杂版: 使用外观模式,将负责封装后就变为: 1. 打开钢铁侠电影 代码: 电视类 测试类:没有用外观模式时,我们需要这几步能看电影 使用外观模式 阅读全文
posted @ 2019-08-02 17:23 Other+ 阅读(986) 评论(0) 推荐(0) 编辑
摘要: 一、是什么 1. 定义:让原来不兼容的两个接口协同工作 2. 分类: 类适配器、对象适配器、接口适配器 3. 角色 目标接口:Target,该角色把其他类转换为我们期望的接口 被适配者: Adaptee 原有的接口,也是希望被改变的接口 适配器: Adapter, 将被适配者和目标接口组合到一起的类 阅读全文
posted @ 2019-08-02 15:00 Other+ 阅读(12722) 评论(2) 推荐(2) 编辑
摘要: 一、是什么 1. 定义: 封装了基于状态的行为,并使用委托在行为之间切换 2. 好处: 通过将每个状态封装到类中,将以后需要做的任何改变局部化 3. 缺点: 使用状态类通常会导致设计类的数量大量增加 4. 类图如上,和策略模式的类图相同,目的不同,策略是为了封装互换的行为,用委托来解耦,状态模式的目 阅读全文
posted @ 2019-08-01 17:45 Other+ 阅读(1426) 评论(4) 推荐(0) 编辑
摘要: 一、是什么 确保一个类只有一个实例,并提供一个全局访问点 一般分类两大类: 饿汉模式、懒汉模式 使用: 以前在线白鹭H5游戏时,因为有很多的场景类, 而每个场景类不需要创建很多遍, 所以使用单例模式 二、示例 1. 饿汉模式 用空间换时间,默认就创建实例,所以没有线程安全问题 2. 懒汉模式 现在不 阅读全文
posted @ 2019-08-01 12:22 Other+ 阅读(1784) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 二、分类 适配器模式 代理模式 组合模式 外观模式 装饰模式 单件 抽象工厂 工厂方法 模板方法 命令模式 迭代器 观察者 状态模式 策略模式 阅读全文
posted @ 2019-07-31 19:48 Other+ 阅读(198) 评论(0) 推荐(0) 编辑