![](https://img-blog.csdnimg.cn/20190328213237213.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
设计模式总结
心意乱2m
这个作者很懒,什么都没留下…
展开
-
Java设计模式 原型模式
原型模式 prototype 短时间大量创建对象时,原型模式和普通new方式效率测试 • 开发中的应用场景 – 原型模式很少单独出现,一般是和工厂方法模式一起出现,通过clone的方法创建一个对象,然后由工厂方法提供给调用者。 • spring中bean的创建实际就是两种:单例模式和原型模式。(当然,原型模式需要和工厂模式搭配起来) clone 存在浅克隆和深克隆 浅克隆的内存引用...翻译 2019-03-27 19:29:06 · 244 阅读 · 0 评论 -
Java设计模式 适配器模式
适配器模式 工作中的场景 经常用来做旧系统改造和升级 如果我们的系统开发之后再也不需要维护,那么很多模式都是没必要 的,但是不幸的是,事实却是维护一个系统的代价往往是开发一个系 统的数倍。 我们学习中见过的场景 java.io.InputStreamReader(InputStream) java.io.OutputStreamWriter(OutputStream) ...翻译 2019-03-28 21:31:06 · 219 阅读 · 0 评论 -
Java设计模式 责任链模式
责任链模式 责任链的应用场景 Servlet API 中的 Filter 过滤器 MVC 框架中的拦截器 . . . 简单使用责任链模式拆分 Servlet API 中的过滤器 模拟 Servlet 中的 Request 对象 /** * @desc <b>模拟 Servlet 中的 Request 对象</b> * * @author jia...翻译 2019-03-28 21:29:58 · 219 阅读 · 0 评论 -
Java设计模式 组合模式
组合模式: Composite 使用组合模式的场景: 把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式处理部分对象和整体对象。 组合模式核心: – 抽象构件(Component)角色: 定义了叶子和容器构件的共同点 – 叶子(Leaf)构件角色:无子节点 – 容器(Composite)构件角色: 有容器特征,可以包含子节点 开发中的应用场景: – 操作系统的...翻译 2019-03-28 21:27:49 · 221 阅读 · 0 评论 -
Java设计模式 策略模式
策略模式 • 本质: – 分离算法,选择实现。 • 开发中常见的场景: – JAVASE中GUI编程中,布局管理 – Spring框架中,Resource接口,资源访问策略 – javax.servlet.http.HttpServlet#service() 活动抽象层 public interface Activity { public BigDecimal s...翻译 2019-03-28 21:26:10 · 241 阅读 · 0 评论 -
Java设计模式 模板模式
模板模式 什么时候用到模板方法模式: 实现一个功能整体步骤一致, 实现方式可能不同这样就可以抽象成一个公共的父类提供子类去实现 实际开发场景: 最典型的还是属于: serlet 中的 service 方法 模板模式实例code 分页封装类 public class Page<T> { // 当前页 private Integer curr; // ...原创 2019-03-27 19:45:15 · 337 阅读 · 0 评论 -
Java设计模式 工厂设计模式
工厂设计模式 工厂模式要点: – 简单工厂模式(静态工厂模式) • 虽然某种程度不符合设计原则,但实际使用最多。 – 工厂方法模式 • 不修改已有类的前提下,通过增加新的工厂类实现扩展。 – 抽象工厂模式 • 不可以增加产品,可以增加产品族! • 应用场景 – JDK中Calendar的getInstance方法 – JDBC中Connect...翻译 2019-03-27 19:39:11 · 277 阅读 · 0 评论 -
Java设计模式 代理模式
代理模式 应用场景: – 安全代理:屏蔽对真实角色的直接访问。 – 远程代理:通过代理类处理远程方法调用(RMI) – 延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象。 比如你要开发一个大文档查看软件,大文档中有大的图片,有可能一个图片有100MB,在打开文件时不可能将所有的图片都显示出来,这样就可以使用代理模式,当需要查看图片时,用proxy来进行大图片的打开。 ...翻译 2019-03-27 19:27:17 · 192 阅读 · 0 评论 -
Java设计模式 中介者模式
中介者模式 在程序 API 接口调用复杂化的时候可以使用中介模式对程序 API 接口进行管理 中介者接口 public interface Manager { public void register(String taget, Department department); public void call(String taget); } 中介者实现类 pub...原创 2019-03-27 18:46:52 · 293 阅读 · 0 评论 -
Java设计模式 单例设计模式
单例设计模式 常见的五种单例模式实现方式– 主要: 饿汉式(线程安全,调用效率高。 但是,不能延时加载。) 懒汉式(线程安全,调用效率不高。 但是,可以延时加载。) 其他: 双重检测锁式(由于JVM底层内部模型原因,偶尔会出问题。不建议使用) 静态内部类式(线程安全,调用效率高。 但是,可以延时加载) 枚举式(线程安全,调用效率高,不能延时加载。并且可以天然的防止反射和反序列化漏洞!) ...翻译 2019-03-28 21:52:18 · 243 阅读 · 0 评论 -
Java设计模式 备忘录模式
备忘录模式 开发中常见的应用场景: – 棋类游戏中的,悔棋 – 普通软件中的,撤销操作 – 数据库软件中的,事务管理中的,回滚操作 – Photoshop软件中的,历史记录 结构: – 源发器类Originator – 备忘录类Memento – 负责人类CareTaker Stack 常用方法 方法名 描述 empty 判断堆栈是否为...翻译 2019-03-28 21:50:12 · 243 阅读 · 0 评论