摘要: 命令模式将请求封装到一个对象当中,命令模式是对命令的封装。 命令模式把发出命令的责任和执行命令的责任分割开,A负责发出命令,B负责接收命令并执行。 以一个女孩命令男孩做事情为例: 1.命令接口 2.具体命令 3.具体命令 4.女孩下命令 5.男孩执行命令 阅读全文
posted @ 2017-05-18 21:54 开拖拉机的蜡笔小新 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。 使用步骤: 步骤1: 创建Target接口; 步骤2: 创建源类(Adaptee) ; 步骤3: 创建适配器类(Adapter) 步骤4: 定义具体使用目标类,并通过Adapter类调用所需要的 阅读全文
posted @ 2017-05-18 20:49 开拖拉机的蜡笔小新 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 如果子类的扩展有两个维度,这时候想解耦和来解决排列组合问题。用组合代替继承。 比如说就礼物这东西而言,可大致抽象分为两类,一种是温暖型的,一种是狂野型的,在礼物的实现上可具体为花或者钻戒或者大炮等等; 在抽象这个维度上可能会扩展,在具体实现上也会扩展,就会形成各式各样的排列组合:温暖的***,狂野的 阅读全文
posted @ 2017-05-18 18:18 开拖拉机的蜡笔小新 阅读(337) 评论(2) 推荐(0) 编辑
摘要: 动态代理在很多底层框架中都会用得到,比如struts,Spring等都用到了动态代理。 动态代理主要用来做方法的增强,让你可以在不修改源码的情况下,增强一些方法,在方法执行前后做任何你想做的事情, 因为在InvocationHandler的invoke方法中,你可以直接获取正在调用方法对应的Meth 阅读全文
posted @ 2017-05-18 16:03 开拖拉机的蜡笔小新 阅读(338) 评论(1) 推荐(0) 编辑