随笔分类 -  设计模式

摘要:适用场景: 对于一个请求来说,如果有个对象都有机会处理它,而且不明确到底是哪个对象会处理请求时,我们可以考虑使用责任链模式实现它,让请求从链的头部往后移动,直到链上的一个节点成功处理了它为止 优点: 发送者不需要知道自己发送的这个请求到底会被哪个对象处理掉,实现了发送者和接受者的解耦 简化了发送者对 阅读全文
posted @ 2019-07-24 22:26 赐我白日梦 阅读(4006) 评论(0) 推荐(0) 编辑
摘要:不同的容器,因为使用了不同的数据结构,就注定了他们的遍历方法是不尽相同的,迭代器模式以接口+实现的方式, 实现了为不同的聚合对象容器提供了相同的顺序访问方法,而忽略其底层数据结构 ,这也成为外部迭代(借助第三方的迭代器器完成的迭代) java内置的迭代器 如上图是java内置的迭代器的接口图,jav 阅读全文
posted @ 2019-07-24 20:57 赐我白日梦 阅读(444) 评论(0) 推荐(0) 编辑
摘要:策略者模式的特点 在设计类的继承体系时,我们会刻意的把公共的部分都提取到基类中 比如先设计Person类,把人类都具有的行为放到这个Person,特有的行为设计成抽象方法,让子类具体去实现, 这样后续无论我们再去构造学生,还是构造老师,大家都继承Person,就达到了代码复用的目的 但是这样问题就来 阅读全文
posted @ 2019-07-24 14:42 赐我白日梦 阅读(1178) 评论(0) 推荐(1) 编辑
摘要:在处理类之间的多对一的依赖关系时,观察者设计模式应运而生了,它的出现实现了代码的瘦身,类之间的解耦,本文分三部分: 非观察者模式的多对一的依赖处理 观察者模式对多对一依赖处理的优化 Java内置的观察者 假设场景: 前端用户向后端服务器发送不同的请求,后端的Selector区的分不同的请求,回调不同 阅读全文
posted @ 2019-07-09 18:37 赐我白日梦 阅读(397) 评论(0) 推荐(0) 编辑
摘要:关于代理设计模式,很多时候都是使用这种机制针对特定的对象进行增强,说白了就是在目标方法执行前后执行我们新添加的逻辑,达到增强的目的 <! more 尤其是Spring中,我们通过 注解把对象的创建权反转给spring,当我们再问spring索要对象的时候,返回给我们的其实是 被cglib代理过的对象 阅读全文
posted @ 2019-07-08 13:08 赐我白日梦 阅读(319) 评论(0) 推荐(0) 编辑
摘要:java使用IO流来处理不同设备之间数据的交互; 所有的IO操作实际上都是对 Stream 的操作 从功能上划分: 输入流: 当数据从源进入的编写的程序时,称它为输入流; 输出流: 从程序输出回另一个源成为输出流; 输入与输出是有参照物的,而这个参照物就是应用程序本身 从结构上划分: 总体的大纲分为 阅读全文
posted @ 2019-07-08 12:11 赐我白日梦 阅读(723) 评论(1) 推荐(0) 编辑
摘要:本篇博文,将整理关于 单例模式 (就是让一个类从始至终,只能产生一个对象,而且spring管理的类也全部是单例模式的)与 多线程 摩擦出的火花 1 . 懒汉模式(存在线程安全性问题) 懒汉模式 在使用的时候初始化对象 2 . 饿汉模式(简单粗暴,实现线程安全) 静态域 饿汉模式 在类加载的时候初始化 阅读全文
posted @ 2019-07-08 12:05 赐我白日梦 阅读(219) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩