设计模式
文章平均质量分 93
小飞鱼号
这个作者很懒,什么都没留下…
展开
-
观察者模式(十七)
文章目录行为模式之-观察者模式20.1 天气预报项目需求,具体要求如下20.2 天气预报设计方案 1-普通方案20.3 观察者模式原理20.4 观察者模式解决天气预报需求20.4.3 观察者模式的好处20.5 观察者模式在 Jdk 应用的源码分析行为模式之-观察者模式20.1 天气预报项目需求,具体要求如下气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。需要设计开放型 API,便于其他第三方也能接入气象站获取数据。提供温度、气压和湿度的接口测量原创 2022-01-28 11:23:08 · 103 阅读 · 0 评论 -
迭代器模式(十六)
文章目录行为模式之-迭代器模式19.1 看一个具体的需求19.2 传统的设计方案(类图)19.3 传统的方式的问题分析19.4 迭代器模式基本介绍19.5 迭代器模式的原理类图19.6 迭代器模式应用实例19.7 迭代器模式在 JDK-ArrayList 集合应用的源码分析19.8 迭代器模式的注意事项和细节行为模式之-迭代器模式19.1 看一个具体的需求编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系。如图:19.2 传统的设计原创 2022-01-28 11:06:32 · 69 阅读 · 0 评论 -
访问者模式(十五)
文章目录18 行为模式之-访问者模式18.1 测评系统的需求18.2 传统方式的问题分析18.3 访问者模式基本介绍18.4 访问者模式的原理类图18.5 访问者模式应用实例18.6 访问者模式的注意事项和细节18 行为模式之-访问者模式18.1 测评系统的需求完成测评系统需求将观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价(评价 有不同的种类,比如 成功、失败 等)18.2 传统方式的问题分析如果系统比较小,还是 ok 的,但是考虑系统增加越来越多新的原创 2022-01-28 10:45:03 · 89 阅读 · 0 评论 -
行为模式之(十四)
文章目录17. 行为模式之-命令模式17.1 智能生活项目需求17.2 命令模式基本介绍17.3 命令模式的原理类图17.4 命令模式解决智能生活项目17.5 命令模式在 Spring 框架 JdbcTemplate 应用的源码分析17.6 命令模式的注意事项和细节17. 行为模式之-命令模式17.1 智能生活项目需求我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装 app 就可以控制对这些家电工作。这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个 App,分原创 2022-01-28 10:23:24 · 67 阅读 · 0 评论 -
模板模式(十三)
文章目录行为模式之-模板方法模式16.1 豆浆制作问题16.2 模板方法模式基本介绍16.3 模板方法模式原理类图16.3.1模板方法模式的原理类图16.4 模板方法模式解决豆浆制作问题16.5 模板方法模式的钩子方法16.6 模板方法模式在 Spring 框架应用的源码分析16.7 模板方法模式的注意事项和细节行为模式之-模板方法模式16.1 豆浆制作问题编写制作豆浆的程序,说明如下:制作豆浆的流程 选材—>添加配料—>浸泡—>放到豆浆机打碎通过添加不同的配料,可以制作出不同原创 2022-01-28 10:04:30 · 56 阅读 · 0 评论 -
代理模式(十二)
文章目录15. 结构模式之-代理模式15.1 代理模式(Proxy)15.1.1 代理模式的基本介绍15.2 静态代理15.2.1 静态代码模式的基本介绍15.2.2 应用实例15.2.3 静态代理优缺点15.3 动态代理15.3.1 动态代理模式的基本介绍15.3.2 JDK 中生成代理对象的 API15.3.3 动态代理应用实例15.4 Cglib 代理15.4.1 Cglib 代理模式的基本介绍15.4.2 Cglib 代理模式实现步骤15.4.3 Cglib 代理模式应用实例15.5 几种常见的代理原创 2022-01-27 16:43:20 · 51 阅读 · 0 评论 -
享元模式(十一)
文章目录14. 结构型模式之-享元模式14.1 展示网站项目需求14.2 传统方案解决网站展现项目14.3 传统方案解决网站展现项目-问题分析14.4 享元模式基本介绍14.5 享元模式的原理类图14.6 内部状态和外部状态14.7 享元模式解决网站展现项目14.8 享元模式在 JDK-Interger 的应用源码分析14.9 享元模式的注意事项和细节14. 结构型模式之-享元模式14.1 展示网站项目需求小型的外包项目,给客户 A 做一个产品展示网站,客户 A 的朋友感觉效果不错,也希望做这样的产原创 2022-01-27 16:14:08 · 66 阅读 · 0 评论 -
外观模式(十)
文章目录13.结构型模式之-外观模式13.1 影院管理项目13.2 传统方式解决影院管理13.3 传统方式解决影院管理问题分析13.4 外观模式基本介绍13.5 外观模式原理类图13.6 外观模式解决影院管理13.6.1 传统方式解决影院管理说明![](https://img-blog.csdnimg.cn/img_convert/53140b938cdf528653889311085fe0ca.png =400x)13.6.2 外观模式应用实例13.7 外观模式在 MyBatis 框架应用的源码分析13.原创 2022-01-27 15:52:49 · 45 阅读 · 0 评论 -
组合模式(九)
文章目录12.结构模式之-组合模式12.1 看一个学校院系展示需求12.2 传统方案解决学校院系展示(类图)12.3 传统方案解决学校院系展示存在的问题分析12.4 组合模式基本介绍12.5 组合模式原理类图12.6 组合模式解决学校院系展示的应用实例12.7 组合模式在 JDK 集合的源码分析12.8 组合模式的注意事项和细节12.结构模式之-组合模式12.1 看一个学校院系展示需求编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系。原创 2022-01-27 15:21:39 · 168 阅读 · 0 评论 -
装饰者模式(八)
文章目录11. 结构性模式之-装饰器模式11.1 星巴克咖啡订单项目(咖啡馆)11.2 方案 1-解决星巴克咖啡订单项目11.3 方案 1-解决星巴克咖啡订单问题分析11.4 方案 2-解决星巴克咖啡订单(好点)11.5 方案 2-解决星巴克咖啡订单问题分析11.6 装饰者模式定义11.7 装饰者模式原理11.8 装饰者模式解决星巴克咖啡订单11.9 装饰者:2 份巧克力+一份牛奶的 LongBlack11.10 装饰者模式咖啡订单项目应用实例11.11 装饰者模式在 JDK 应用的源码分析11. 结构性原创 2022-01-27 11:17:03 · 191 阅读 · 0 评论 -
桥接模式(七)
文章目录10 结构性模式之-桥接模式10.1 手机操作问题10.2 传统方案解决手机操作问题10.3 传统方案解决手机操作问题分析10.4 桥接模式(Bridge)-基本介绍10.5 桥接模式(Bridge)-原理类图10.6 桥接模式解决手机操作问题10.7 桥接模式在 JDBC 的源码剖析10.8 桥接模式的注意事项和细节10.9 常见的应用场景10 结构性模式之-桥接模式10.1 手机操作问题现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网,打电话等),如图:10.2 传统方原创 2022-01-26 17:41:20 · 51 阅读 · 0 评论 -
适配器模式(六)
文章目录9. 结构性模式之-适配器模式9.1 现实生活中的适配器例子9.2 基本介绍9.3 工作原理9.4 类适配器模式9.4.1 类适配器模式介绍9.4.2 类适配器模式应用实例9.4.3 类适配器模式注意事项和细节9.5 对象适配器模式9.5.1 对象适配器模式介绍9.5.2 对象适配器模式应用实例9.5.3 对象适配器模式注意事项和细节9.6 接口适配器模式9.6.1 接口适配器模式介绍9.6.2 接口适配器模式应用实例9.7 适配器模式在 SpringMVC 框架应用的源码剖析9.8 适配器模式的注原创 2022-01-26 14:10:38 · 55 阅读 · 0 评论 -
建造者模式(五)
文章目录创建型模式之建造者模式8.1 盖房项目需求8.2 传统方式解决盖房需求8.3 传统方式的问题分析8.4 建造者模式基本介绍8.5 建造者模式的四个角色8.6 建造者模式原理类图8.7 建造者模式解决盖房需求应用实例8.8 建造者模式在 JDK 的应用和源码分析8.9 建造者模式的注意事项和细节创建型模式之建造者模式8.1 盖房项目需求需要建房子:这一过程为打桩、砌墙、封顶房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的.请编写程序,完成需求.8.2原创 2022-01-26 13:32:55 · 60 阅读 · 0 评论 -
原型模式(四)
文章目录7. 创建型模式之原型模式7.1 克隆羊问题7.2 传统方式解决克隆羊问题7.3 传统的方式的优缺点7.4 原型模式-基本介绍7.5 原型模式原理结构图-uml 类图7.6 原型模式解决克隆羊问题的应用实例7.7 原型模式在 Spring 框架中源码分析7.8 深入讨论-浅拷贝和深拷贝7.8.1 浅拷贝的介绍7.8.2 深拷贝基本介绍7.9 深拷贝应用实例7.10 原型模式的注意事项和细节7. 创建型模式之原型模式7.1 克隆羊问题现在有一只羊 tom,姓名为: tom, 年龄为:1,颜色为:原创 2022-01-26 10:36:15 · 48 阅读 · 0 评论 -
工厂模式(三)
文章目录6.创建者模式之工厂模式6.1 简单工厂模式6.2 工厂方法模式6.3 抽象工厂模式6.4 工厂模式在 JDK-Calendar 应用的源码分析6.5 工厂模式小结6.创建者模式之工厂模式6.1 简单工厂模式6.1.1 看一个具体的需求看一个披萨的项目:要便于披萨种类的扩展,要便于维护披萨的种类很多(比如 GreekPizz、CheesePizz 等)披萨的制作有 prepare,bake, cut, box完成披萨店订购功能。6.1.2 使用传统的方式来完成思路分析(类图)原创 2022-01-26 09:51:50 · 60 阅读 · 0 评论 -
单例模式(二)
文章目录5.创建者模式之单例模式5.1 单例设计模式介绍5.2 单例设计模式八种方式5.3 饿汉式(静态常量)5.4 饿汉式(静态代码块)5.5 懒汉式(线程不安全)5.6 懒汉式(线程安全,同步方法)5.7 懒汉式 (线程安全,同步代码块)5.8 双重检查5.9 静态内部类5.10 枚举5.11 单例在JDK应用的源码分析5.12 注意事项和细节说明5.创建者模式之单例模式5.1 单例设计模式介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类原创 2022-01-25 17:15:59 · 75 阅读 · 0 评论 -
设计模式原则工具(一)
文章目录1.设计模式的目的2.设计模式七大原则2.1 单一职责原则2.2 接口隔离原则(Interface Segregation Principle)2.3依赖倒转原则2.4里氏替换原则2.5 开闭原则2.6 迪米特法则2.7 合成复用原则(Composite Reuse Principle)2.8 设计原则核心思想3.UML 类图3.1 UML 基本介绍3.2 UML图3.3 UML 类图3.4 类图—依赖关系(Dependence)3.5 类图—泛化关系(generalization)3.6 类图—实原创 2022-01-25 13:50:06 · 139 阅读 · 0 评论