设计模式
咱老李
热爱java,热开开发
展开
-
设计模式之观察者模式
文章目录天气预报项目需求天案气预报设计方案1-普通方案代码设计问题分析观察者模式(Observer) 原理观察者模式解决天气预报需求类图说明代码观察者模式的好处天气预报项目需求) 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。2) 需要设计开放型API,便于其他第三方也能接入气象站获取数据。3) 提供温度、气压和湿度的接口4) 测量数...原创 2020-04-22 21:10:11 · 697 阅读 · 0 评论 -
设计模式之中介者模式
文章目录智能家庭项目传统方案解决智能家庭管理问题传统的方式的问题分析中介者模式基本介绍原理类图说明中介者模式应用实例-智能家庭管理思路分析和图解代码实现中介者模式的注意事项和细节智能家庭项目传统方案解决智能家庭管理问题传统的方式的问题分析中介者模式基本介绍原理类图说明中介者模式应用实例-智能家庭管理思路分析和图解代码实现/** * 具体同事类 */publ...原创 2020-04-22 21:08:18 · 151 阅读 · 0 评论 -
设计模式之备忘录模式
文章目录游戏角色状态恢复问题传统方案解决游戏角色恢复传统的方式的问题分析备忘录模式基本介绍基本介绍原理类图代码实现角色状态恢复实例思路分析和图解代码实现备忘录模式的注意事项和细节游戏角色状态恢复问题传统方案解决游戏角色恢复传统的方式的问题分析备忘录模式基本介绍基本介绍原理类图代码实现public class Client { public static void...原创 2020-04-22 21:05:57 · 103 阅读 · 0 评论 -
设计模式之解释器模式
文章目录四则运算问题传统方案解决四则运算分析问题解释器模式基本介绍原理类图解释器模式实现四则思路分析和图解代码实现解释器模式的注意事项和细节四则运算问题传统方案解决四则运算分析问题解释器模式基本介绍原理类图解释器模式实现四则思路分析和图解代码实现/** * 抽象运算符号解析器 这里,每个运算符号都只和自己左右两个数字有关系, * * 但左右两个数字有可能也是一个解...原创 2020-04-22 21:03:06 · 323 阅读 · 0 评论 -
设计模式之状态模式
文章目录APP抽奖活动问题状态模式基本介绍原理类图状态模式解决APP抽奖问题代码实现状态模式借贷平台剖析代码状态模式的注意事项和细节APP抽奖活动问题状态模式基本介绍原理类图状态模式解决APP抽奖问题代码实现public abstract class State { /** * 扣除积分 -50 */ public abstract v...原创 2020-04-22 21:00:05 · 128 阅读 · 0 评论 -
设计模式之策略者模式
文章目录编写鸭子项目传统方案解决鸭子问题的分析和代码实现代码传统的方式实现的问题分析和解决方案策略者模式基本介绍原理类图策略者模式解决鸭子问题思路分析代码策略者模式在JDK-Arrays应用的源码分析策略者模式的注意事项和细节编写鸭子项目传统方案解决鸭子问题的分析和代码实现代码public abstract class Duck { public Duck() { ...原创 2020-04-22 20:57:43 · 171 阅读 · 0 评论 -
设计模式之职责链模式
文章目录OA系统采购审批传统方式解决OA系统审批传统方式审批问题分析职责链模式基本介绍原理类图职责链模式解决OA审批思路分析和图解代码职责链模式注意事项和细节OA系统采购审批传统方式解决OA系统审批传统方式审批问题分析职责链模式基本介绍原理类图职责链模式解决OA审批思路分析和图解代码public abstract class Approver { /** ...原创 2020-04-22 20:54:40 · 98 阅读 · 0 评论 -
设计模式之模板方法模式
文章目录豆浆制作问题模板方法模式基本介绍模板方法模式原理类图对原理类图的说明--即(模板方法模式的角色及职责)模板方法模式解决豆浆制作问题应用实例要求思路分析和图解(类图)代码实现模板方法模式的钩子方法代码模板方法模式在Spring框架应用的源码分析模板方法模式的注意事项和细节豆浆制作问题编写制作豆浆的程序,说明如下:制作豆浆的流程 选材—>添加配料—>浸泡—>放到豆浆机...原创 2020-04-22 20:51:18 · 189 阅读 · 0 评论 -
设计模式之享元模式
文章目录一、网站项目1.需求2.传统方案解决网站展示项目3.传统方案解决网站展示项目问题分析二、享元模式1.基本介绍2.享元模式类图3.内部状态和外部状态一、网站项目1.需求小型的外包项目,给客户A做一个产品展示网站,客户A的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求不同有客户要求以新闻的形式发布有客户要求以博客的形式发布有客户希望以微信公众号的形式发布2.传统方案解...原创 2019-12-16 16:45:53 · 101 阅读 · 0 评论 -
设计模式之外观设计模式
文章目录一、影院管理项目1.传统方式解决影院管理2.传统方式解决问题分析二、外观模式1.基本介绍2.原理类图三、外观模式解决影院管理1.说明2.代码类图代码四、外观模式的注意事项和细节一、影院管理项目组建一个家庭影院DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为:直接用遥控器:统筹各设备开关开爆米花机放下屏幕开投影仪开音响开 DVD,...原创 2019-12-10 20:49:54 · 170 阅读 · 0 评论 -
设计模式之装饰者设计模式
文章目录一、星巴克咖啡订单项目二、方案一1.问题分析三、方案二1.问题分析四、装饰者模式1.装饰者模式定义2.装饰者模式原理五、装饰者模式解决星巴克咖啡订单1.装饰者模式下的订单。2份巧克力+1份牛奶的LongBlack2.代码2.1主体 Component2.2具体主体2.3装饰者2.4装饰者下订单六、装饰者模式在jdk中的源码分析一、星巴克咖啡订单项目咖啡种类/单品咖啡:Espresso...原创 2019-12-10 14:17:21 · 241 阅读 · 0 评论 -
设计模式之桥接模式
文章目录一、手机操作问题1.传统方案解决手机操作问题2.传统方案解决手机操作问题分析二、桥接模式1.基本介绍2.原理类图三、桥接模式解决手机操作的问题1.类图2.代码2.抽象类抽象类子类行为类接口接口实现类客户端调用四、桥接模式在 JDBC 的源码剖析五、桥接模式的注意事项和细节六、常见的应用场景一、手机操作问题现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网,打电话等),如图...原创 2019-12-10 09:21:02 · 396 阅读 · 0 评论 -
设计模式之适配器设计模式
文章目录一、适配器模式1.基本介绍2.工作原理二、类适配器模式1.类适配器模式介绍2. 类适配器模式应用实例3.代码三、对象适配器模式1.对象适配器模式应用实例2.代码适配接口被适配类对象适配器手机实体调用3.对象适配器模式注意事项和细节四、接口适配器模式1.接口适配器模式介绍2.接口适配器模式案例说明接口适配器类调用五、适配器模式在SpringMVC框架应用的源码剖析六、适配器模式的注意事项和细...原创 2019-12-04 21:52:36 · 125 阅读 · 0 评论 -
设计模式之建造者模式
文章目录一、盖房项目需求二、传统方式解决盖房需求1.代码2.传统方式问题分析一、盖房项目需求需要建房子:这一过程为打桩,砌墙,封顶房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的二、传统方式解决盖房需求1.代码/** * @author: LiDeLin 18234780819@163.com * @date: 2019/11/4 * ...原创 2019-12-03 22:34:07 · 148 阅读 · 0 评论 -
设计模式之原型模式
文章目录一、克隆羊问题1.1 传统方式解决克隆羊问题1.2 代码1.3 传统方式的缺点二、原型模式2.1 原型模式基本介绍2.2 原型模式原理结构uml类图2.3 原型模式解决克隆羊问题的应用实例2.4 原型模式在Spring框架中源码分析三、深入讨论-浅拷贝和深拷贝3.1 浅拷贝介绍3.2 深拷贝基本介绍3.3 深拷贝应用实例四、原型模式的注意事项和细节一、克隆羊问题现在有一只羊 tom,姓...原创 2019-12-01 23:01:14 · 468 阅读 · 0 评论 -
设计模式之工厂模式
文章目录一、 简单工厂模式1 具体需求2 使用传统的方式2.1 思路分析2.2 代码2.3传统方式的缺点3 简单工厂模式基本介绍一、 简单工厂模式1 具体需求一个披萨项目,披萨的种类很多(比如 GreekPizz、CheesePizz 等)披萨的制作有 prepare,bake, cut, box完成披萨店订购功能。2 使用传统的方式2.1 思路分析2.2 代码// 构造器...原创 2019-12-01 20:55:09 · 219 阅读 · 0 评论 -
设计模式之单例设计模式
单例设计模式八种设计方式一、单例设计模式介绍所谓类的单例设计模式,就是采取一定的方法保证在整个软件体系中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目只通过一个SessionFactor...原创 2019-11-30 17:26:26 · 152 阅读 · 0 评论 -
设计模式之设计原则
一、单一职责原则1.基本介绍 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度2.单一职责原则注意事项即细节 2.1降低类的复杂度,一个类只负责一项职责。 2.2提高类的可读性,维护性。 2.3降低变更引起的风险。 2.4通常情况下,我们应当遵守单一职责原则,只...原创 2019-11-27 22:46:44 · 82 阅读 · 0 评论