
设计模式
文章平均质量分 84
韩曙亮
中国人民大学硕士 , 专注于 移动开发 领域 , 博客专家 , 2023 年博客之星 TOP1 , 2021 年博客之星 TOP9 , 华为云 云享专家 , 阿里云社区 专家博主 , 51CTO 专家博主 ;
展开
-
【设计模式】代理模式 ( 动态代理 | 模拟 Java 虚拟机生成对应的 代理对象 类 )
前言、一、模拟 JVM 生成对应的 代理对象、二、模拟 JVM 生成对应的 代理对象 完整流程展示、1、目标对象接口、2、被代理对象、3、调用处理程序、4、模拟 JVM 生成的代理对象类、5、客户端、原创 2021-09-21 11:55:10 · 771 阅读 · 0 评论 -
【设计模式】代理模式 ( 动态代理使用流程 | 创建目标对象 | 创建被代理对象 | 创建调用处理程序 | 动态创建代理对象 | 动态代理调用 )
前言、一、静态代理的弊端、二、动态代理的优势、三、动态代理使用流程、1、目标对象接口、2、被代理对象、3、调用处理程序、4、客户端、四、动态生成 代理对象 类 的 字节码 文件数据、原创 2021-09-21 11:24:56 · 887 阅读 · 0 评论 -
【设计模式】代理模式 ( 代理模式结构 | 客户端 | 主题对象 | 被代理对象 | 代理对象 )
代理模式中的元素有 客户端 , 主题对象 , 被代理对象 , 代理对象 ;客户端 持有 主题对象 , 调用其方法 ;代理对象 和 被代理对象 都是 主题 的子类 ;代理对象 持有 被代理对象 , 可以调用 被代理对象 的方法 ;一、代理模式、二、代理模式示例、1、主题对象 Subject、2、被代理对象 RealSubject、3、代理对象 Proxy、4、客户端 Client、原创 2021-09-20 11:18:26 · 966 阅读 · 0 评论 -
【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )
一、面向对象 3 要素、二、多态 ( 提升程序扩展性 )、三、不使用多态示例、四、使用多态示例、总结、原创 2021-09-18 11:17:46 · 1149 阅读 · 0 评论 -
【设计模式】设计模式总结 ( 七大设计原则 | 创建型模式 | 结构型模式 | 行为型模式 ) ★★★
一、七大设计原则1、开闭原则2、依赖倒置原则3、单一职责原则4、接口隔离原则5、迪米特原则6、里氏替换原则7、合成复用原则二、创建型模式0、简单工厂模式 ( 不属于 GOF 设计模式中 )1、工厂方法模式2、抽象工厂模式3、建造者模式4、单例模式5、原型模式三、结构型模式1、适配器模式2、装饰者模式3、代理模式4、外观模式5、桥接模式6、组合模式7、享元模式四、行为型模式1、策略模式2、观察者模式3、责任链模式4、备忘录模式5、模板方法模式6、迭代器原创 2021-08-25 12:51:03 · 1426 阅读 · 0 评论 -
【设计模式】软件设计七大原则 ( 合成复用原则 | 代码示例 )
一、合成复用原则简介、二、合成复用 与 继承复用 优缺点、三、合成复用原则代码示例、1、继承复用代码示例、2、合成复用代码示例、原创 2021-08-24 22:28:20 · 2595 阅读 · 1 评论 -
【设计模式】软件设计七大原则 ( 里氏替换原则 | 代码示例 | 类示例 | 方法入参示例 | 方法返回值示例 )
一、里氏替换原则代码示例 ( 类的层级 | 反面示例 )、二、里氏替换原则代码示例 ( 类的层级 | 正面示例 )、三、里氏替换原则代码示例 ( 方法入参 | 正面示例 )、四、里氏替换原则代码示例 ( 方法入参 | 反面示例 )、五、里氏替换原则代码示例 ( 方法返回值 )、原创 2021-08-24 21:43:49 · 1816 阅读 · 4 评论 -
【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
一、里氏替换原则定义、二、里氏替换原则定义扩展、三、里氏替换原则引申意义、四、里氏替换原则意义、五、里氏替换原则优点、原创 2021-08-24 19:33:28 · 888 阅读 · 0 评论 -
【设计模式】软件设计七大原则 ( 迪米特原则 | 代码示例 )
一、迪米特原则简介、二、迪米特原则代码示例 ( 反面示例 )、1、经理类、2、员工类、3、商品类、4、测试类、三、迪米特原则代码示例 ( 推荐用法 )、1、经理类、2、员工类、3、商品类、4、测试类、原创 2021-08-24 15:59:50 · 969 阅读 · 1 评论 -
【设计模式】软件设计七大原则 ( 接口隔离原则 | 代码示例 )
一、接口隔离原则简介、二、接口隔离原则代码示例 ( 反面示例 )、1、接口定义 ( 接口臃肿 )、2、实现类 1、3、实现类 2、三、接口隔离原则代码示例 ( 推荐用法 )、1、接口 1、2、接口 2、3、接口 3、4、接口 4、5、实现类、原创 2021-08-24 13:09:21 · 1387 阅读 · 0 评论 -
【设计模式】软件设计七大原则 ( 单一职责原则 | 代码示例 )
一、单一职责原则简介、二、单一职责原则代码示例 ( 反面示例 )、1、不遵循单一职责原则的类、2、测试类、三、单一职责原则代码示例 ( 正面示例 | 类的单一职责 )、1、用翅膀飞的鸟、2、用脚走的鸟、3、测试类四、单一职责原则代码示例 ( 接口的单一职责 )、1、反面示例、2、拆分出的接口 1、3、拆分出的接口 2、4、接口实现类、五、单一职责原则代码示例 ( 方法的单一职责 )、1、反面示例、2、单一职责示例、原创 2021-08-24 10:53:01 · 4682 阅读 · 0 评论 -
【设计模式】软件设计七大原则 ( 依赖倒置原则 | 代码示例 )
一、依赖倒置原则简介、二、面向实现编程代码示例 ( 反面示例 )、1、顾客类、2、测试类、三、依赖倒置原则代码示例 ( 推荐示例 | 使用接口方法注入 IGood 实现类 )、1、顾客类、2、商品接口、3、冰箱商品、4、电视商品、5、测试类、原创 2021-08-23 22:16:26 · 2409 阅读 · 3 评论 -
【设计模式】软件设计七大原则 ( 开闭原则 )
一、开闭原则简介、二、开闭原则代码示例、1、商品接口、2、普通商品类、3、折扣商品类、4、测试类、原创 2021-08-23 21:15:56 · 1153 阅读 · 0 评论 -
【设计模式】建造者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、建造者模式简介、二、建造者模式适用场景、三、建造者模式优缺点、四、建造者模式与工厂模式、五、建造者模式代码示例、1、学生类、2、建造者抽象类、3、建造者实现类、4、教师类 ( 非必须 )、5、测试类、六、实例类和建造者类定义在同一个类中 ( 建造者模式常用用法 )、1、实例类 + 建造者类、2、测试类、原创 2021-08-23 16:07:58 · 6801 阅读 · 6 评论 -
【设计模式】抽象工厂模式 ( 简介 | 适用场景 | 优缺点 | 产品等级结构和产品族 | 代码示例 )
一、抽象工厂模式简介、二、抽象工厂模式适用场景、三、抽象工厂模式优缺点、四、产品等级结构和产品族、五、抽象工厂模式代码示例、1、冰箱抽象类、2、美的冰箱实现类、3、格力冰箱实现类、4、空调抽象类、5、美的空调实现类、6、格力空调实现类、7、工厂抽象接口 ( 重点 )、8、美的工厂实现类 ( 重点 )、9、格力工厂实现类 ( 重点 )、10、测试类、原创 2021-08-23 10:23:12 · 3833 阅读 · 1 评论 -
【设计模式】工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、工厂方法模式简介、二、工厂方法模式适用场景、三、工厂方法模式优缺点、四、工厂方法模式代码示例、1、产品抽象类、2、产品实现类 1、3、产品实现类 2、4、抽象工厂类、5、实现工厂类 1、6、实现工厂类 2、7、测试类、五、扩展上述工厂方法模式、1、扩展的产品实现类、2、扩展的工厂实现类、3、测试类、原创 2021-08-22 19:25:30 · 6115 阅读 · 0 评论 -
【设计模式】简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、简单工厂模式简介、二、简单工厂模式适用场景、三、简单工厂模式优缺点、四、简单工厂模式代码示例、1、抽象类、2、子类对象 1、3、子类对象 2、4、工厂类、5、测试类、原创 2021-08-22 12:04:42 · 3860 阅读 · 3 评论 -
【设计模式】桥接模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、桥接模式简介、二、桥接模式适用场景、三、桥接模式优缺点、四、桥接模式相关设计模式、五、桥接模式代码示例、1、视频格式抽象、2、FLV 视频格式实现、3、MP4 视频格式实现、4、系统平台抽象、5、Linux 系统平台实现、6、Android 系统平台实现、7、测试类、原创 2021-08-22 00:06:41 · 9641 阅读 · 0 评论 -
【设计模式】组合模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、组合模式简介、二、组合模式适用场景、三、组合模式优缺点、四、组合模式和访问者模式、五、组合模式代码示例、1、书籍和目录的抽象父类、2、书籍类、3、目录类、4、测试类、原创 2021-08-21 17:56:16 · 9462 阅读 · 0 评论 -
【设计模式】代理模式 ( 动态代理 )
一、动态代理使用流程、二、动态代理代码示例、1、订单类、2、Service 接口、3、Service 实现类、4、Service 静态代理类、5、Dao 接口、6、Dao 实现类、7、Service 动态代理类、8、测试类、三、动态代理源码分析、原创 2021-08-20 14:09:20 · 737 阅读 · 0 评论 -
【设计模式】代理模式 ( 静态代理 )
一、静态代理代码示例、1、订单类、2、Service 接口、3、Service 实现类、4、Service 静态代理类、5、Dao 接口、6、Dao 实现类、7、测试类、原创 2021-08-19 22:43:59 · 751 阅读 · 2 评论 -
【设计模式】代理模式 ( 简介 | 适用场景 | 优缺点 | 代理扩展 | 相关设计模式 )
一、代理模式简介、二、代理模式适用场景、三、代理模式优缺点、四、代理扩展、五、代理模式相关设计模式、原创 2021-08-19 15:13:10 · 3711 阅读 · 0 评论 -
【设计模式】模板方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、模板方法模式简介、二、模板方法模式适用场景、三、模板方法模式优缺点、四、模板方法扩展、五、模板方法模式相关设计模式、六、模板方法模式代码示例、1、模板方法抽象类、2、模板方法实现类 1、3、模板方法实现类 2、4、测试类、原创 2021-08-19 10:43:27 · 4647 阅读 · 0 评论 -
【设计模式】迭代器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、迭代器模式简介、二、迭代器模式适用场景、三、迭代器模式优缺点、四、迭代器模式和访问者模式、五、迭代器模式代码示例、1、迭代器接口、2、迭代器实现、3、集合元素实例类、4、集合管理接口、5、集合管理实现类、6、测试类、原创 2021-08-18 20:03:17 · 5557 阅读 · 0 评论 -
【设计模式】策略模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、策略模式简介、二、策略模式适用场景、三、策略模式优缺点、四、策略模式与其它设计模式、五、策略模式代码示例、1、促销策略接口、2、满减促销策略、3、返现促销策略、4、空促销策略、5、促销策略工厂、6、促销活动、7、测试类、原创 2021-08-18 12:22:50 · 8730 阅读 · 2 评论 -
【设计模式】解释器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、解释器模式简介、二、解释器模式适用场景、三、解释器模式优缺点、四、解释器模式与适配器模式、五、解释器模式代码示例、1、解释器接口、2、加法解释器、3、乘法解释器、4、整型解释器、5、语法解析类、6、工具类、7、测试类、原创 2021-08-17 20:17:02 · 3628 阅读 · 3 评论 -
【设计模式】观察者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、观察者模式简介、二、观察者模式适用场景、三、观察者模式优缺点、四、观察者模式代码示例、1、被观察者、2、观察者、3、通知类、4、测试类、五、JDK 中的观察者模式支持类、1、Observable、2、Observer、原创 2021-08-17 11:08:52 · 7230 阅读 · 0 评论 -
【设计模式】备忘录模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、备忘录模式简介、二、备忘录模式 适用场景、三、备忘录模式 优缺点、四、备忘录模式 与 状态模式、五、备忘录模式 代码示例、1、文档类、2、文档备忘录类、3、文档备忘录管理类、4、测试类、原创 2021-08-16 22:15:50 · 2571 阅读 · 0 评论 -
【设计模式】命令模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、命令模式简介、二、命令模式 适用场景、三、命令模式 优缺点、四、命令模式 与 备忘录模式、五、命令模式 代码示例、1、命令接口、2、发布命令类、3、关闭命令类、4、游戏类、5、命令执行者类、6、测试类、原创 2021-08-16 19:49:00 · 7125 阅读 · 0 评论 -
【设计模式】中介者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、中介者模式简介、二、中介者模式适用场景、三、中介者模式优缺点、四、中介者模式 与 观察者模式、五、中介者模式 代码示例、1、聊天室、2、用户、3、运行实例、原创 2021-08-16 16:05:34 · 2611 阅读 · 0 评论 -
【设计模式】状态模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、状态模式简介、二、状态模式适用场景、三、状态模式优缺点、四、状态模式相关设计模式、五、状态模式代码示例、1、状态类父类、2、播放状态类、3、暂停状态类、4、快进状态类、5、停止状态类、6、上下文控制类、7、测试、原创 2021-08-14 22:28:19 · 10240 阅读 · 12 评论 -
【设计模式】访问者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、访问者模式简介、二、访问者模式 适用场景、三、访问者模式 优缺点、四、访问者模式 与 迭代器模式、五、代码示例、1、Game 父类 ( 被访问者 )、2、VipGame 收费游戏 ( 被访问者 )、3、FreeGame 免费游戏 ( 被访问者 )、4、IVisitor 访问者接口、5、VipVisitor 付费玩家、6、测试类、原创 2021-08-13 21:14:35 · 6361 阅读 · 2 评论 -
【设计模式】责任链模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
一、责任链模式简介、二、责任链模式相关设计模式、三、责任链模式 代码示例、1、用户账户类、2、校验器父类、3、用户名校验器、4、密码校验器、5、电话号码校验器、6、运行测试、原创 2021-08-13 13:43:53 · 8101 阅读 · 5 评论 -
【设计模式】享元模式 实现 ( 实现流程 | 抽象享元类 | 具体享元类 | 享元工厂 | 用户调用 | 代码模板 )
I . 享元模式 实现流程II . 享元模式 抽象享元类III . 享元模式 具体享元类IV . 享元模式 享元工厂V . 享元模式 用户调用原创 2020-04-12 20:34:33 · 798 阅读 · 4 评论 -
【设计模式】享元模式 简介 ( 定义 | 对象池 | 内部状态 | 外部状态 | 适用场景 | 相关角色 )
I . 享元模式 简介II . 享元模式 内部状态 和 外部状态III . 享元模式 适用场景IV . 享元模式 优缺点V . 享元模式 相关模式VI . 享元模式 相关角色原创 2020-04-11 14:42:16 · 1982 阅读 · 3 评论 -
【设计模式】适配器模式 ( 类适配器代码模板 | 对象适配器代码模板 | 适配器模式示例 )
I . 适配器模式 ( 类适配器 ) 代码模板II . 适配器模式 ( 对象适配器 ) 代码模板III . 适配器模式 代码示例原创 2020-04-09 20:51:37 · 748 阅读 · 0 评论 -
【设计模式】适配器模式 ( 概念 | 适用场景 | 优缺点 | 外观模式对比 | 适配器模式相关角色 | 类适配器 | 对象适配器 | 实现流程 )
I . 适配器模式概念II . 适配器模式 适用场景III . 适配器模式 优缺点IV . 适配器模式 与 外观模式对比V . 适配器模式 相关角色 ( 重点 )VI . 适配器模式 ( 类适配器 ) 代码实现流程 ( 重点 )VII . 适配器模式 ( 对象适配器 ) 代码实现流程 ( 重点 )原创 2020-04-08 15:03:54 · 2352 阅读 · 0 评论 -
【设计模式】装饰者模式 ( 概念 | 适用场景 | 优缺点 | 与继承对比 | 定义流程 | 运行机制 | 案例分析 )
I . 装饰者模式概念II . 装饰者模式适用场景III . 装饰者模式优点IV . 装饰者模式与继承对比V . 装饰者模式相关设计模式VI . 装饰者模式四个相关类VII . 装饰者模式实体装饰者类运行机制VIII . 装饰者模式定义使用流程 ( 重点 )IX . 装饰者模式 案例原创 2020-04-08 00:55:47 · 1801 阅读 · 1 评论 -
【设计模式】外观模式 ( 概念 | 适用场景 | 优缺点 | 代码示例 )
I . 外观模式概念II . 外观模式 适用场景III . 外观模式 优缺点IV . 外观模式与其它设计模式的联系与区别V . 外观模式 代码示例原创 2020-04-07 14:39:03 · 6624 阅读 · 0 评论 -
【设计模式】原型模式 ( 浅拷贝 | 深拷贝 | 原型与单例冲突 | 禁用 final )
I . 原型模式 总结II . 原型模式 浅拷贝III . 原型模式 深拷贝IV . 原型模式 与 单例V . 原型模式 中的 final 关键字 ( 禁止出现 )原创 2020-04-05 23:43:27 · 881 阅读 · 0 评论