`
return_space
  • 浏览: 20058 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表

适配器模式

适配器模式:客户端调用某一个类型 Adapter,该类型只有operationTwo(),但是客户端现在希望调用这个类型的同时,也要执行另一个类型 Source 的operationOne(),这时候我们就要使用“适配器模式”。   解决方案为:我们抽象一个接口Target,该接口拥有operationOne()与operationTwo(),将Adapter这个类型继承Source 类型,实现接口Target。   核心思想就是:通过抽象接口,满足客户端的期待,从而使不同接口类可以一起工作。   具体代码如下:   package com.mkf.pattern; pub ...

原型模式

原型模式:有一个对象A,在不使用创建的情况下,得到一个与A一样的对象AC。AC即被称为原型。 实现这个模式,一般使用克隆的方式,需要实现Cloneable接口。 也就是使用JAVA的克隆技术。 克隆分为“深克隆”、“浅克隆”。 深克隆需要实现Serializable接口,使用 流 技术。 浅克隆只需要实现Cloneable接口,重写clone方法。   代码如下:请注意观察结果内,数据的不同,对象地址的不同。   浅克隆 package com.mkf.pattern; import java.io.Serializable; public class Class ...

建造者模式

建造者模式:一般用来创建复杂对象,如:一个类型的对象 A 的属性是其它 N 个对象(B、C、D)组成。   工厂模式关心-----创建一个类型对象A。   建造者模式关心-----创建一个类型对象A的同时,也要关心怎么创建(创建什么样的) A 的属性 (B、C、D),                             并且将它们组装成对象A。     具体代码可以参考JDK的  StringBuilder、ProcessBuilder 两个类

单例模式

单例模式:即在全局范围内,某个类只允许存在一个实例。   具体代码如下: 考虑了多线程、克隆情况   代码增加多线程,主要是为了测试,把多线程去掉就是一个单例。   package com.mkf.pattern; public class Singleton implements Runnable { private static Singleton _instance = null; static int i = 0; static int j = 0; private Singleton(){ i++; } synchronized ...

工厂模式

工厂模式:即通过一个类进行创建同一类型的不同对象。   例:有一个接口《InterfaceOne》、两个类《CalssOne》《ClassTwo》,具体代码如下: package com.mkf.pattern; public interface InterfaceOne { public String sayHello(String name); } package com.mkf.pattern.impl; import com.mkf.pattern.InterfaceOne; public class CalssOne implemen ...
Global site tag (gtag.js) - Google Analytics