易截截图软件、单文件、免安装、纯绿色、仅160KB

Java设计模式(三)Adapter(适配器),Bridge(桥接)

 结构模式(-)
Adapter(适配器)
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
Adapter分为2种:
类适配器和对象适配器。Adapter和Adaptee之间是is-a关系的时候,属于类适配器,Adapter和Adaptee之间是has-a关系的时候,属于对象适配器。
基于“当涉及到依存性时,应当始终优先选择组合/成员关系而不是继承”的设计原则,并且由于多继承在使用上的复杂性,及在部分情况下不可行等原因,对象适配器优先于类适配器
使用场景
1 你想使用一个已经存在的类,但他的接口不符合你的需求。
2 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
3 你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口。
主要参与者
Target
:决定要用什么方法
public interface Target {
   public void request();
}
Adaptee
:提交最初的方法
public class Adaptee {
   
public void requestSpecial(){
       //处理一些额外的请求
   
}
}
Adapter
:用Adaptee去实现Target的方法
public class Adapter extends Adaptee implements Target{
@Override
  
// 这里用的是类Adapter模式,采用了多重继承
  
public void request() {
  
// TODO Auto-generated method stub
  
super.requestSpecial();
  
}
}
Client:
使用Target的方法
public class Client {
 
public static void main(String[] args) {
   
Target t = new Adapter();
    t .request();
  
}
}
以上是类适配器,下面是对象适配器
对象适配器与类适配器的区别在于如何实现Target所需要的方法,类适配器是继承而对象适配器是委托
Adapter
:用Adaptee去实现Target的方法
public class Adapter implements Target{
    private Adaptee adaptee;
    public Adapte(Adaptee adaptee){
        this.adaptee =  adaptee;
    }
  
@Override


相关文档:

java路径

import java.io.File;
/**
* @description <p>java 路径</p>
* @author swandragon
* @date Nov 5, 2009
*/
public class FilePath{
/**
* 开发中不要使用System.getProperty("user.dir")获取当前用户目录的相对路径
* 也尽可能不要使用绝对路径,使用绝对路径时可以在配置文件中 ......

Java相对路径总结

 1.基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servl ......

JAVA学习笔记第一讲091031

数据类型:
(4类8种)
逻辑型-boolean
字符型- char
数值型:
整数型- byte,  short,  int,  long
浮点数型- float,  double
·Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义.‘\n’代表换行符
·Java整型常量默认为int型,声明lon ......

Java 技术是什么?

Java 技术是什么?
Java 技术既是一种高级的面向对象的编程语言,也是一个平台。Java 技术基于 Java 虚拟机(Java virtual machine,JVM)的概念 —— 这是语言与底层软件和硬件之间的一种转换器。Java 语言的所有实现都必须实现 JVM,从而使 Java 程序可以在有 JVM 的任何系统上运行。
Java 编程语言(Java p ......

JAVA与actionscript通信 别人的经验

 问题:
服务器是用java写的,客户端是用actionscript(使用amf3)写的,但是服务器端只发送了两次信息,
客户端却接收到三次数据,服务器端也是同样的问题,接收到客户端的三次数据,但是客户端也只发了
两次信息。
由于socket传输数据时是按固定的大小传送字节数据的,但是在flash客户端读取的
时候是靠一 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号