随笔分类 -  设计模式

摘要:远程代理、虚拟代理、保护代理 阅读全文
posted @ 2022-02-13 19:01 Jaywee 阅读(186) 评论(0) 推荐(0) 编辑
摘要:GoF23 Strategy-策略 1、case:糖果机 1.1、业务背景 设计一个糖果机,工作原理如下: 圆圈:代表一个状态; 箭头:代表一个动作,即状态的转换; 整理 状态 动作 1.2、CandyMachine 成员变量 state:代表状态; count:代表糖果数目; 静态常量:代表状态值 阅读全文
posted @ 2022-02-08 17:18 Jaywee 阅读(52) 评论(0) 推荐(0) 编辑
摘要:GoF23 1、case:菜单 有两份菜单 菜单项结构相同; 菜单项存储的实现不同:使用不同的“集合”。 1.1、MenuItem 属性:名称、价格 构造器初始化 getter public class MenuItem { private String name; private double p 阅读全文
posted @ 2022-02-03 19:08 Jaywee 阅读(53) 评论(0) 推荐(0) 编辑
摘要:GoF23 1、case:模拟鸭子 开发一款模拟鸭子游戏,包括各种鸭子及其不同行为 会叫; 会游泳; 会飞; …… 如何为鸭子添加行为?考虑以下哪种方案更合适! 1.1、方案尝试 继承 Duck超类 设计一个 Duck 超类; 将行为设计成超类方法; 各种鸭子继承此超类。 quack():所有鸭子都 阅读全文
posted @ 2022-01-30 20:42 Jaywee 阅读(61) 评论(0) 推荐(0) 编辑
摘要:GoF23 1、适配器概述 生活中的适配器 问题 假设有一个插座(三孔)和一个插头(二头); 此时无法直接将二者连接使用。 解决 使用适配器:改变插座的接口,以符合插头的要求。 面向对象适配器 问题 假设有一个软件系统,系统接口与厂商提供的接口不匹配; 此时无法工作。 解决 不想改变现有代码(系统代 阅读全文
posted @ 2022-01-28 15:24 Jaywee 阅读(48) 评论(0) 推荐(0) 编辑
摘要:将请求封装成对象,以使用不同请求对其它对象进行参数化。 阅读全文
posted @ 2022-01-27 16:51 Jaywee 阅读(57) 评论(0) 推荐(0) 编辑
摘要:(继承的替代方案)在不改变原有类的情况下,动态增强对象的功能。 阅读全文
posted @ 2022-01-23 16:16 Jaywee 阅读(57) 评论(0) 推荐(0) 编辑
摘要:定义对象之间的一对多依赖,当对象状态改变时,所有依赖者会收到通知并自动更新。 阅读全文
posted @ 2022-01-22 13:32 Jaywee 阅读(221) 评论(0) 推荐(0) 编辑
摘要:确保一个类有唯一实例,并提供一个全局访问点 阅读全文
posted @ 2021-12-17 21:33 Jaywee 阅读(38) 评论(0) 推荐(0) 编辑
摘要:处理创建对象的细节,实现创建者和调用者的分离 阅读全文
posted @ 2021-12-16 14:34 Jaywee 阅读(68) 评论(0) 推荐(0) 编辑
摘要:给某个对象提供一个代理,以控制对该对象的访问 阅读全文
posted @ 2021-12-01 21:38 Jaywee 阅读(172) 评论(0) 推荐(0) 编辑
摘要:设计模式是对软件设计中普遍存在问题的优秀解决方案 阅读全文
posted @ 2021-08-05 16:12 Jaywee 阅读(190) 评论(0) 推荐(1) 编辑

👇