设计模式
pig0ne
在扎实的基础上叠高高
展开
-
设计模式——适配器模式 类适配器 对象适配器
一个小例子,便于理解,上代码~ //这是我们造的。现在想用这个方法。 public class Adaptee { public void specialRequest(){ System.out.println("called specificrequest()in Adaptee"); } } //类适配器。对我们想要的方法封装一下,Target就能像之前一样...原创 2018-10-18 21:19:48 · 192 阅读 · 0 评论 -
设计模式——桥接模式
实现不同人、不同画笔、不同颜料三个类别的桥接 //把笔抽象出来 abstract class Brush { protected Color c; protected Person p; //不同的笔和颜色有不同的实现方式,因此各自重写抽象方法。 public abstract void paint(); //颜色不需要抽象出来,它通过多态实现即可。 ...原创 2018-10-18 21:23:38 · 176 阅读 · 0 评论 -
设计模式——装饰模式
先选择咖啡品种,再选择往咖啡里加的东西,最后计算出价格。 public class Decorator implements Ingredient { private String description = "我只是装饰器,不知道具体的描述"; @Override public String getDescription() { return descr...原创 2018-10-18 21:28:43 · 166 阅读 · 0 评论 -
设计模式——观察者模式
被观察者变化了就把主动把信息告诉监听器,观察者就采取相应措施 import java.util.Observable; import java.util.Observer; public class Earth extends Observable { private String weather = "晴朗"; public String getWeather() { ...原创 2018-10-18 21:31:14 · 108 阅读 · 0 评论 -
设计模式——单例模式 双重检验
//饿汉式,等调用时再创建对象 public class Single {//也可以写final private static Single instance = null;//这个和下面的方法必须是静态的,这样才能类名.方法来调用方法。用的时候才new对象。 static Object object = new Object(); //否则无法调用方法。 priv...原创 2018-10-18 21:33:30 · 272 阅读 · 0 评论 -
设计模式——动态代理模式
代理类和被代理类有一个共同的接口,被代理类实现了接口的抽象方法,代理类调用了被代理类的方法,并加入了自己的方法。在main函数中创建代理类对象并调用即可。 缺点:请求速度变慢 作用:进行访问控制、远程通信、日志、缓存 场景:远程代理 /* 真实类:代理类调用的类。事先不知道这个,用动态代理 */ public class RealSubject implements Subject { ...原创 2018-10-18 21:40:12 · 113 阅读 · 0 评论