Adapter设计模式定义:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。
引用一个例子,假设我们有一个图形的基类Shape:
public class Shape
{
public abstract void Display();
}
{
public abstract void Display();
}
另外有两个子类分别是Line和Rectangle:
public class Line : Shape
{
public override void Display()
{
// do something
}
}
public class Rectangle : Shape
{
public override void Display()
{
// do something
}
}
{
public override void Display()
{
// do something
}
}
public class Rectangle : Shape
{
public override void Display()
{
// do something
}
}
public class MyCircle
{
public void DisplayCircle()
{
// do something
}
}
它也是用来显示一个Shape,但是可能函数名称不一样,为此我们可以用一个Adapter将它包装起来:
这样就可以方便的使用一个已经存在的类,而不需要重新写了。
{
public void DisplayCircle()
{
// do something
}
}
它也是用来显示一个Shape,但是可能函数名称不一样,为此我们可以用一个Adapter将它包装起来:
public class Circle : Shape
{
MyCircle myCircle = new MyCircle();
public override void Display()
{
myCircle.DisplayCircle();
}
}
{
MyCircle myCircle = new MyCircle();
public override void Display()
{
myCircle.DisplayCircle();
}
}
这样就可以方便的使用一个已经存在的类,而不需要重新写了。