适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在类适配器模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。
////// 圆形类 /// public class Circle : Shape { private XXCircle pcx = new XXCircle();//实例化XXCircle对象 public void Display() { pcx.DisplayIt();//让XXCircle做实际工作 } } ////// 线性 /// public class Line : Shape { public void Display() { //program code } } ////// 面积 /// public class Square : Shape { public void Display() { //program code } }
////// 显示形状接口 /// public interface Shape { void Display(); } ////// 具体实际工作的类 /// public class XXCircle { ////// 实际显示 /// public void DisplayIt() { Console.WriteLine(this.GetType().Name + ":我来显示啦!"); } }
////// 简单工厂类 /// public class Factory { ////// 获取形状对象 /// /// 类别 ///形状对象 public Shape GetShapeInstance(int type) { switch (type) { case 1: return new Line();//线性 case 2: return new Square();//面积 case 3: return new Circle();//圆形 default: return null;//空 } } }
class Program { static void Main(string[] args) { //适配器模式 int type = 3; Factory factory = new Factory(); Shape s; s = factory.GetShapeInstance(type); if (s == null) { Console.WriteLine("Error get the instance!"); return; } s.Display(); return; } }