设计模式学习总结
Home_十一月的肖邦
人总要找一亩三分地,每天耕种,不然整天吊儿郎当,好没意思——2015-10-18
展开
-
适配器模式
package test;/** * 功能:一个方法原本调用A接口的方法输出,当要调用B接口的方法输出,但不改动这个方法 * 解决方法:利用适配器,该适配器实现A接口,并将B的实现类传入适配器。在A接口的实现方法中,调用B实现类的方法 * @author fantasy * */ public class Test5 {/** * @param args */public转载 2016-03-26 17:41:55 · 359 阅读 · 0 评论 -
单例设计模式
package test; /** * 设计模式:单例设计模式 * 定义:一个类中只有一个实例,并提供全局访问点 * 特点: * 1.构造方法私有化 * 2.声明一个本类静态对象 * 3.给外部提供一个静态方法获取对象实例 * 类型:饿汉式、懒汉式 * 饿汉首选,懒汉有线程安全问题 * @author fantasy * */public cla转载 2016-03-26 20:33:29 · 376 阅读 · 0 评论 -
装饰者模式
package test; /** * 装饰者模式 * 典型应用:io * 优点:防止类爆炸式增长 * @author fantasy * */public class DecoratorTest { public static void main(String[] args) { Water water = new Water();转载 2016-03-28 10:59:56 · 238 阅读 · 0 评论 -
观察者模式
import java.util.ArrayList;/** * 观察者模式 * 组成:被观察的接口、观察者接口、被观察具体对象、观察者具体对象 * 应用:GUI的事件监听 * @author fantasy * */public class ObserverTest { public static void main(String[] args) {转载 2016-03-28 15:16:47 · 200 阅读 · 0 评论 -
什么是动态代理?动态代理是如何实现的?动态代理有哪些应用?
动态代理:当想要给实现了某个接口的类中的方法,加一些额外的处理。比如说加日志,加事务等。可以给这个类创建一个代理,故名思议就是创建一个新的类,这个类不仅包含原来类方法的功能,而且还在原来的基础上添加了额外处理的新类。这个代理类并不是定义好的,是动态生成的。具有解耦意义,灵活,扩展性强。动态代理实现:首先必须定义一个接口,还要有一个InvocationHandler(将实现接口的类的对象传递给它)处理原创 2016-08-14 16:58:24 · 20588 阅读 · 0 评论 -
动态代理模式
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Random;/** * 动态代理模式–jdk_api * Subject将要被代理的接口 * Proxy代理类 * newPr转载 2016-03-28 16:47:54 · 752 阅读 · 0 评论 -
工厂模式
分类:简单工厂模式、工厂方法模式、抽象工厂模式 简单工厂模式包括:一个具体的工厂类,一个抽象的产品类,多个具体的产品类。 工厂方法模式:一个抽象的工厂类,多个具体的工厂类,一个抽象的产品类,多个具体的产品类。 抽象工厂模式:一个抽象的工厂类,多个具体的工厂类,多个抽象的产品类,多个具体的产品类。 简单工厂模式又被成为静态工厂方法模式,是它的一个特例。 工厂方法模式代码示例如下:public转载 2016-09-28 22:11:10 · 407 阅读 · 0 评论