自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 设计模式之备忘录模式

备忘录模式1.需求: 存档问题游戏角色有攻击力和防御力,在大战之前保存自己的状态(攻击力和防御力),如果在不慎修改之后,如何进行状态的恢复??2.解决方案:传统方案一个对象对应着一个保存对象的状态,这样当我们游戏的对象很多的时候,不利于管理传统方式就是重新new了一个对象,进行备份(将原数据搬移到新的对象中),但是会暴露对象内部的细节备忘录模式: 在传统模式的基础上进行修改,...

2020-03-17 17:20:24 295

原创 设计模式之中介者模式

中介者模式1.项目需求设计一个智能家庭,家庭中包括各种设备(比如闹钟,咖啡机,电视机,窗帘等)完成各个设备之间的协同工作,假设流程为: 闹钟响起 => 咖啡机开始做咖啡 => 窗帘自动落下 => 电视机开始播放(这次项目的需求和外观模式一致,但是采用了和外观模式不一样的处理方式,外观模式是在类中进行多个子类逻辑的耦合,但是此次考虑使用中介者模式)外观模式链接:htt...

2020-03-16 15:11:48 180

原创 设计模式之观察者模式

观察者模式1.需求:天气预报项目需求气象站天天将测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或者第三方)需要提供开放性API(温度,气压,湿度接口),便于推送如何设计气象站(一)和多个推送网站(多)之间的关系?2.观察者模式简单介绍观察者模式维护了对象之间一对多的关系,被依赖的对象(一)是Subject,依赖的对象是Observer(多)观察者模式会在...

2020-03-14 14:07:24 171

原创 设计模式之迭代器模式

迭代器模式1. 需求编写程序展示一个学校院系结构:一个学校中有多个院,一个学院中有多个系效果图:2.解决方案使用迭代器模式进行遍历,将数据的存储和数据的遍历进行分离3.迭代器模式的简单介绍迭代器模式(Iterator Pattern)属于一种常见的设计模式,属于行为型模式如果我们的集合元素是用不同的方式实现(array or list or …),当客户端遍历这些集合元素的时...

2020-03-12 14:19:55 200

原创 设计模式之访问者模式

访问者模式1.简单介绍访问者模式(Visitor Pattern),封装一些作用于某种数据结构的各元素的操作,可以在不改变结构的前提下定义新的操作(作用于这些元素)访问者模式主要是将数据结构和数据的操作进行分离,解决了数据结构和操作耦合性的问题访问者模式的基本工作原理是: 在被访问的类里提供一个对外接待访问者的方法void accept(Visitor visitor)2.访问者中...

2020-03-09 14:09:28 217

原创 设计模式之命令模式

命令模式1.需求买了一套智能家电(如照明灯,风扇,洗衣机等等),但是不想每一个家电都用一个对应的app去控制,想做到使用一个“遥控器”统一控制所有电器2.分析需求如果想实现一个app控制其他所有家电,则其他家电都要提供一个统一的接口给app调用,可以尝试把命令和接收全部进行抽象化,附着在“家电”上。同时可以考虑使用命令模式3.命令模式的基本介绍命令模式(Command Patt...

2020-03-07 14:56:12 259

原创 设计模式之模板模式

模板模式1.需求:如何制作豆浆?制作豆浆的流程: 选材 -> 添加配料 -> 浸泡 -> 放到豆浆机里打碎制作豆浆的逻辑大体相同,在添加配料的时候可以选择添加不同的配料制作不同的豆浆(红豆豆浆,核桃豆浆)解决方法: 使用模板模式模拟制作豆浆的过程2.模板模式介绍模板模式(Template Pattern)又称为模板方法模式(Template Method Pa...

2020-03-04 14:31:41 194

原创 设计模式之代理模式

代理模式(proxy)1.基本介绍代理模式为一个对象提供一个替身(代理对象),以控制对这个对象的访问。可以在目标对象实现基础上扩展功能(强化功能)被代理的对象可能是远程对象,创建开销大的对象或者是需要安全控制的对象。代理模式分几种不同的形式: 主要分为:静态代理动态代理(JDK代理)Cglib代理2.静态代理介绍静态代理在使用的时候需要定义接口或者父类,被代理对象...

2020-03-02 14:44:51 194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除