排序:
默认
按更新时间
按访问量
RSS订阅

Java23种设计模式【23】----》备忘录模式(memento)

一、场景 恢复到以前的状态。如word编辑时突然断电,当重新打开时,提示是否恢复,点击恢复可恢复原来的内容; 二、核心 三、结构 四、开发中常见的场景 五、代码实现 1、源发器类 2、备忘录类 3、负责人类 管理备忘录对象 另: 4、测试 ...

2018-11-07 18:53:20

阅读数 39

评论数 0

Java23种设计模式【22】----》观察者模式(Observer)

一、广播的机制 一对多的关系; **群发消息的时候**; 如我们听电台,我们是消息订阅者,电台是消息发送者(目标)。 二、场景 一个人说的话给了服务器,服务器再把这句话给其他人; 二个人对话或多人对话都要经过服务器; 总结: **即目标给多个观察者发送消息**; 三、核心...

2018-11-07 18:18:05

阅读数 606

评论数 2

Java23种设计模式【21】----》状态模式(state)

一、场景 不同的状态对应不同的行为,考虑使用状态模式 二、核心 三、结构 四、开发中的场景 五、代码实现 状态图说明: 代码实现: 1、状态接口state 2、定义state的实现类 空闲: 已预订: 已入住: 3、上下文类contex...

2018-11-07 17:08:35

阅读数 34

评论数 0

Java23种设计模式【20】----》模板方法模式(template method)

一、场景 流程骨架清楚,但具体实现还不清楚 如吃饭,吃饭流程都知道,但具体吃什么饭不清楚 二、模板方法模式介绍 定义好骨架,但具体某个方法该怎么调不知道 三、核心 四、方法回调(钩子方法) 五、什么时候用模板方法模式 六、开发中的场景 七、代码实现 1、模板...

2018-11-05 20:50:24

阅读数 33

评论数 0

Java23种设计模式【19】----》策略模式(strategy)

一、场景 普通代码实现: 二、定义 针对复杂的场景  三、类图 实现了算法和实现的分离,适应后期更复制的情况   四、 本质 五、开发中常见的场景 六、代码实现 1、算法统一接口 2、算法实现(构成算法族) 算法实现1 算法实现2 算...

2018-11-05 20:26:53

阅读数 36

评论数 0

Java23种设计模式【18】----》访问者模式(Visitor)

应用范围非常窄,了解即可 一、场景 处理一个接口下有很多不同的对象,对不同对象有不同的处理方式,这时需要用到访问者模式; 二、定义  三、开发中的场景 xml文档中有各种不同的子元素,所以用到访问者模式; ...

2018-11-05 10:07:13

阅读数 19

评论数 0

Java23种设计模式【17】----》解释器模式(Interpreter)

项目中基本用不到 如果有特定的语法结构,自定义语法,可以好好看此设计模式去写相关编译器和解释器; 如果想要开发一种新的语言时,开发解释器和编译器设计时,解释器模式必须使用; 一、介绍  二、开发中场景的场景 ...

2018-11-04 22:44:37

阅读数 30

评论数 0

Java23种设计模式【16】----》命令模式(command)

项目中用到的不多 一、介绍 有一个命令的发送者,再抽象一个新的类,对发的请求和命令缓存处理后(记录日志,记录操作前状态进行批处理),再转发给执行者执行命令,这个过程就是命令模式。 例如:数据库事物的底层就是命令模式 数据库的事物具有原子性:即接收到命令后,依据命令模式,将这些命令缓存起来,...

2018-11-04 22:34:19

阅读数 38

评论数 0

Java23种设计模式【15】----》中介者模式(Mediator)

一、场景 几个角色之间直接打交道,会比较乱 使用中介者模式,变成如下: 二、核心 把网状结构解耦变成1对多的关系 三、中介者模式的本质 四、开发中的场景 五、UML图 六、代码实现  场景 公司下面有三个部门:财务部,市场部,研发部;设总经理来管理这...

2018-11-04 22:10:19

阅读数 30

评论数 0

Java23种设计模式【14】----》迭代器模式(iterator)

一、场景 当有很多对象需要遍历时,就用迭代器模式。 二、开发中的场景 List/Set实现了iterator接口,所以自带排序方法; 参考链接:https://blog.csdn.net/biexiaofei/article/details/77031003  三、 代码实现...

2018-11-04 21:36:41

阅读数 35

评论数 0

Java23种设计模式【13】----》责任链模式(Chain of responsibility)

一、定义 原理:将多个同一功能的对象串起来,一个对象调用下一个对象,形成链的结构。 二、场景   如果写if/else语句会导致结构复制不利于后期维护,则采用责任链模式; 三、开发中的场景 四、代码实现 请假流程审批 1、封装请假的基本信息 2、创建抽象类供审...

2018-11-04 18:12:45

阅读数 31

评论数 0

Java23种设计模式【前言】--总体说明

23种模式分类: 模式:固定的套路 一、创建型模式 一句话总结:帮我们创建对象 创建型模式中的重点模式:单例模式,简单工厂模式,原型模式 二、结构型模式 对程序的整体结构起到更大的作用,帮助我们实现程序的松耦合,对程序的维护和升级起到很大的作用,有利于以后的扩展。 ...

2018-11-04 16:28:57

阅读数 26

评论数 0

Java23种设计模式【12】----》享元模式(FlyWeight)

一、应用场景 享:共享 元:数据 如果存在很多相同或相似的对象,可以通过享元模式,合并为一个,供所有人调用,以起到节省内存的作用,但也是以时间换空间,节省了内存,但增加了运行时间。 二、核心 享元模式要经常和工厂模式搭配使用 如:围棋 棋子颜色大小形状相同,但位置不同,所以 ...

2018-11-04 16:22:20

阅读数 38

评论数 0

Java23种设计模式【11】----》外观模式

一、迪米特法则(最少知识原则) 如泡茶:不需要亲自和开水茶叶打交道,而是和茶馆服务员打交道。  二、原理 原理:封装,供自己或别人进行调用 如一段通用的代码进行封装成方法; 尽可能少的和子系统打交道,而是和一个统一的出口打交道;把功能封装起来,调起来方便;  三、开发中的场景 ...

2018-11-04 15:34:45

阅读数 62

评论数 0

Java23种设计模式【10】----》装饰模式(decorator)

一、原理 装饰对象和原本对象分离,通过组合方法即装饰对象中创建原本对象的引用; 如: 墙壁,和能挂衣服的墙壁;墙壁是原本对象,装饰对象定义挂钩对象,同时有墙壁的引用;这样装饰类就表示能挂衣服的墙壁; 车,和飞行车、人工智能车;车是原本对象,装饰对象定能飞的属性或方法,同时有车的引用;这样装...

2018-11-04 15:17:33

阅读数 32

评论数 0

Java23种设计模式【9】----》组合模式(composite)

一、继承和组合的区别 继承:A类继承B类,A类拥有B类的一切; 组合:A类定义B类的属性,A拥有了B,则拥有了B的所有方法; 二、组合模式使用场景 处理树形结构:XML解析,html解析,Windows文件系统 三、组合模式核心 四、组合模式工作流程分析 五、开发中的应用...

2018-11-04 11:20:47

阅读数 18

评论数 0

Java23种设计模式【8】----》桥接模式(bridge)

一、使用场景 场景:电脑分类 多层继承结构模型: 存在问题:当新增具体品牌电脑时,需要新增类来实现;即: 解决方法:将类型和品牌分开,通过一个有另一的引用来实现关联,即桥接模式; 二、桥接模式的核心要点 由于Java没有多继承机制,所以桥接模式用于处理这种多继承的情况! 用组...

2018-11-03 22:58:59

阅读数 13

评论数 0

Java23种设计模式【7】----》代理模式(Proxy patern)

一、生活中的场景 代理公司,经纪人,中介 二、Java程序中的场景 三、核心作用 举例:歌手和经纪人 客户需要歌手来唱歌,不找歌手,而是找歌手的经纪人。 经纪人:负责面谈、合同起草、签字、收预付款、安排机票和车辆、安排唱歌、收尾款等统一流程的事 歌手:负责唱歌 故经纪人是歌手的...

2018-11-03 22:08:59

阅读数 48

评论数 0

Java23种设计模式【6】----》适配器adapter模式

一、生活中的场景 适配器相当于一个转接口。 如:手机的充电器。插座是被适配的对象,充电器是适配器,手机的充电接口是目标接口。 二、什么是适配器模式 三、模式中的角色 四、工作中的场景 六、Java中的适配器场景 输入\输出字节和字符流的转化对象 七、代码实现 ...

2018-11-01 20:32:17

阅读数 27

评论数 0

Java23种设计模式【5】----》原型模式prototype

一、场景 创建对象比较耗时的时候,可以拷贝原型,再进行修改;是基于内存的操作 二、原理 原型模式=客户模式=拷贝模式 包括浅克隆和深克隆 浅克隆:只复制原型,克隆对象和原型共同指向原型的对象属性 深克隆:将原型的属性也进行复制 三、开发中的应用场景 四、Java中原型模式的...

2018-11-01 19:20:28

阅读数 24

评论数 0

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