Adapter模式主要应用于“希望复用一些现存的类,但是接
口又与复用环境要求不一致的情况..
应用举例:
用户需求:堆栈结构
已经存在的对象或类: ArrayList
用户的需求接口:
interface
Istack
//
用户需求借口
... {
void Push(object item);//入栈
object Pop();//出栈
object Peek();//获取栈顶元素
}
... {
void Push(object item);//入栈
object Pop();//出栈
object Peek();//获取栈顶元素
}
根据上述条件创建适配器:
class
Adapter : Istack
... {
ArrayList Adpatee;//已经存在的类或对象
public Adapter()
...{
Adpatee = new ArrayList();
}
public void Push(object item)
...{
Adpatee.Add(item);
}
public object Pop()
...{
object obj=Adpatee[Adpatee.Count-1];
Adpatee.Remove(Adpatee.Count - 1);
return obj;
}
public object Peek()
...{
return Adpatee[Adpatee.Count - 1];
}
}
... {
ArrayList Adpatee;//已经存在的类或对象
public Adapter()
...{
Adpatee = new ArrayList();
}
public void Push(object item)
...{
Adpatee.Add(item);
}
public object Pop()
...{
object obj=Adpatee[Adpatee.Count-1];
Adpatee.Remove(Adpatee.Count - 1);
return obj;
}
public object Peek()
...{
return Adpatee[Adpatee.Count - 1];
}
}