- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 职责链模式在开源代码中的应用
职责链模式的作用:把请求从链中的一个对象传到下一个对象,直到请求被响应为止。通过这种方式去除对象之间的耦合。案例一servlet 2.3 版新增了 Filter 和 FilterChain,其中 FilterChain 就是用了职责链模式。Filter 用于在 Servlet 响应前,进行预处理、信息校验等,Filter 没有调用 doFilter 方法参数中 chain 的 doFilter 方法,调用链即停止public interface Filter { ...
2020-08-20 22:23:44 242
原创 《设计模式》- GoF
为什么看这本书?设计模式的开山之作,很有必要探索一下。书的整体情况书不厚,200 多页,最近工作比较忙,都是晚上零零散散看一会,花了差不多有七八个小时。书提到了这些知识模块:什么是设计模式?怎么描述设计模式?怎么选择设计模式?怎么使用设计模式? 通过设计一个文档编辑器的案例,介绍了设计问题与设计模式的使用 5 个创建型设计模式 7 个结构型设计模式 11 个行为型设计模式 设计模式的将来、Alexander 在建筑界的设计模式理论对软件方面的启发适合阅读人群有一些代.
2020-08-16 13:09:32 229
原创 命令模式在开源代码中的应用
命令模式的作用:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。案例JDK 中的线程 java.lang.Thread,使用了命令模式。Thread 类的构造方法可以接收实现 Runnable 接口的对象,Runnable 的 run 方法可以理解为抽象命令,具体命令给程序员去实现。任务的接收与执行者是计算机的 CPU,任务的发起者是程序员。public class Thread implements Runnable { private Runnable targ
2020-08-11 23:13:55 462
原创 策略模式在开源代码中应用
策略模式的作用:定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响使用算法的客户。案例java.util.Comparator 接口定义元素之间的比较方法,如,有 compare 方法public interface Comparator<T> { int compare(T o1, T o2);}Arrays 工具类,指定 Comparator 进行排序public class Arrays { public stat..
2020-08-05 00:00:09 358
原创 模板方法模式在开源代码中应用
模板方法的作用:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。案例一JDK 中 java.util.AbstractList 抽象集合类,用到了模板方法模式,定义了留给子类实现的 add 方法和模板方法 addAll。public abstract class AbstractList<E> extends AbstractCollection<E> implements List<.
2020-08-04 23:59:16 333
原创 组合模式在开源代码中的应用
组合模式的作用:将对象组合成树状层次结构,使用户对单个对象和组合对象具有一致的访问性。案例一JDK 的 AWT(Abstract Window Toolkit),使用了组合模式。AWT 中包含了两种组件:容器组件和基本组件。容器组件是 java.awt.Container 的子孙类 基本组件是 java.awt.Component 的子孙类 容器组件和基本组件都是java.awt.Component 的子孙类Container 类中包含了很多基本组件或容器,放在ArrayList...
2020-08-04 01:18:59 260
原创 享元模式在开源代码中的应用
享元模式的作用:运用共享技术来有效地支持大量细粒度对象的复用。案例享元模式比较经典的应用就是 JDK 中部分基本类型的包装类,缓存了一定数值范围的对象,valueOf 方法转换为包装对象时,如果值在缓存范围内,即返回缓存对象。Byte,缓存了 -128 ~ 127 Short,缓存了 -128 ~ 127 Character,缓存了 0 ~ 127 Integer,缓存了 -128 ~ 127,JVM 启动参数-XX:AutoBoxCacheMax 可以设置范围的最大值 Long..
2020-08-01 08:37:50 317
原创 外观模式在开源代码中的应用
外观模式的作用:为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问,且不会暴露过多的底层实现细节。案例Tomcat 中,catalina.jar 中的 RequestFacade 和 ResponseFacade 两个类就使用了外观模式。servlet-api 中定义了HttpServlet 抽象类,类中的定义了处理 http get、post、delete... 等请求,返回处理结果,对应需要实现方法 doGet、doPost、doDelete...这些方法有两个共同..
2020-08-01 08:36:09 314
计算机网络原理 自顶向下方法 英文第6版
2018-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人