Design Pattern--Adapter
来源:互联网 发布:手腕腱鞘炎 知乎 编辑:程序博客网 时间:2024/05/22 02:07
1.Simple Adapter
/**
*
*/
package com.sean.adapter.simple;
import java.awt.event.WindowEvent;
import java.util.EventListener;
/**
* @author Sean_Zhang
*
*/
public interface WindowListener extends EventListener {
public void windowOpened(WindowEvent e);
public void windowClosing(WindowEvent e);
public void windowClosed(WindowEvent e);
public void windowIconified(WindowEvent e);
public void windowDeiconified(WindowEvent e);
public void windowActivated(WindowEvent e);
public void windowDecativated(WindowEvent e);
}
/**
*
*/
package com.sean.adapter.simple;
import java.awt.event.WindowEvent;
/**
* @author Sean_Zhang
*
*/
public class WindowAdapter implements WindowListener {
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowActivated(java.awt.event.WindowEvent)
*/
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowClosed(java.awt.event.WindowEvent)
*/
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowClosing(java.awt.event.WindowEvent)
*/
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowDecativated(java.awt.event.WindowEvent)
*/
public void windowDecativated(WindowEvent e) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowDeiconified(java.awt.event.WindowEvent)
*/
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowIconified(java.awt.event.WindowEvent)
*/
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowOpened(java.awt.event.WindowEvent)
*/
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
}
/**
*
*/
package com.sean.adapter.simple;
import java.awt.event.WindowEvent;
/**
* @author Sean_Zhang
*
*/
public class WindowEventHandler extends WindowAdapter {
/* (non-Javadoc)
* @see com.sean.adapter.simple.WindowListener#windowClosed(java.awt.event.WindowEvent)
*/
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
}
2.Class Adapter
/**
*
*/
package com.sean.adapter.cls;
/**
* @author Sean_Zhang
*
*/
public interface IOther {
public String doOther();
}
/**
*
*/
package com.sean.adapter.cls;
/**
* @author Sean_Zhang
*
*/
public interface ISome {
public String doSome();
}
/**
*
*/
package com.sean.adapter.cls;
/**
* @author Sean_Zhang
*
*/
public class OtherClass implements IOther {
/* (non-Javadoc)
* @see com.sean.adapter.cls.IOther#doOther()
*/
public String doOther() {
return "other";
}
}
/**
*
*/
package com.sean.adapter.cls;
/**
* @author Sean_Zhang
*
*/
public class SomeClass implements ISome {
/* (non-Javadoc)
* @see com.sean.adapter.cls.ISome#doSome()
*/
public String doSome() {
return "some";
}
}
/**
*
*/
package com.sean.adapter.cls;
/**
* @author Sean_Zhang
*
*/
public class SomeAndOther extends SomeClass implements IOther {
private IOther other = null;
public SomeAndOther(IOther other) {
this.other = other;
}
public String doOther() {
return other.doOther();
}
}
3.Object Adapter
/**
*
*/
package com.sean.adapter.obj;
import java.util.Enumeration;
/**
* @author Sean_Zhang
*
*/
public class MessageApplication {
public String showAllMessages(Enumeration msgs) {
String msg = "";
while(msgs.hasMoreElements()) {
String current = (String)msgs.nextElement();
System.out.println(current);
msg += " " + current;
}
return msg;
}
}
/**
*
*/
package com.sean.adapter.obj;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.NoSuchElementException;
/**
* @author Sean_Zhang
*
*/
public class IteratorAdapter implements Enumeration {
private Iterator iterator;
public IteratorAdapter(Iterator iterator) {
this.iterator = iterator;
}
public boolean hasMoreElements() {
return iterator.hasNext();
}
public Object nextElement() throws NoSuchElementException {
return iterator.next();
}
}
/**
*
*/
package com.sean.adapter.obj;
import java.util.ArrayList;
import java.util.List;
/**
* @author Sean_Zhang
*
*/
public class MessageClient {
private MessageApplication msgApp;
public String run() {
msgApp = new MessageApplication();
return msgApp.showAllMessages(createMsg());
}
private IteratorAdapter createMsg() {
List<String> msgs = new ArrayList<String>();
for(int i = 0;i < 3;i++) {
msgs.add("thing" + i);
}
return new IteratorAdapter(msgs.iterator());
}
}
- Design Pattern 11-Adapter
- C++ Design Pattern:Adapter
- [Design Pattern]:Adapter
- design pattern : Adapter
- design pattern - Adapter
- Design Pattern--Adapter
- Java design pattern: Adapter
- 一句话Design Pattern:Adapter
- Design Pattern - Structural Pattern - Adapter
- Design Pattern(6)-Adapter Pattern
- Design Pattern 6: Adapter Pattern
- Design Pattern - Adapter(C#)
- Design Pattern: Default Adapter 模式
- Design Pattern——Adapter
- design pattern——adapter
- Design Pattern: Adapter 模式 - Object Adapter
- Design Pattern: Adapter 模式 - Class Adapter
- Design pattern learning II: Adapter pattern
- Android Launcher全面剖析
- Closure常用工具类
- Configure the SSL Simple(SSL+external) connection for SunOne Directory server
- Android WIFI框架分析(2)
- goahead 翻译---Active Server Pages
- Design Pattern--Adapter
- MSSQL:数据库中查找重复记录和删除重复记录的sql
- 97、Oracle 索引 详解
- Closure类和继承
- oracle分页Sql
- 98、Oracle分析表和索引
- 数据库如何添加主键?
- Android framework/base 下添加新的接口
- 五个有用的jQuery技巧