23种设计模式之适配器模式(Adapter)

简介: 23种设计模式之适配器模式(Adapter) 适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。

23种设计模式之适配器模式(Adapter)

 

适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在类适配器模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。

 

/// <summary> /// 圆形类 /// </summary> public class Circle : Shape { private XXCircle pcx = new XXCircle();//实例化XXCircle对象 public void Display() { pcx.DisplayIt();//让XXCircle做实际工作 } } /// <summary> /// 线性 /// </summary> public class Line : Shape { public void Display() { //program code } } /// <summary> /// 面积 /// </summary> public class Square : Shape { public void Display() { //program code } }

 

/// <summary> /// 显示形状接口 /// </summary> public interface Shape { void Display(); } /// <summary> /// 具体实际工作的类 /// </summary> public class XXCircle { /// <summary> /// 实际显示 /// </summary> public void DisplayIt() { Console.WriteLine(this.GetType().Name + ":我来显示啦!"); } }

 

/// <summary> /// 简单工厂类 /// </summary> public class Factory { /// <summary> /// 获取形状对象 /// </summary> /// <param name="type">类别</param> /// <returns>形状对象</returns> 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; } }

 

目录
相关文章
|
18天前
|
设计模式 Java 中间件
23种设计模式,适配器模式的概念优缺点以及JAVA代码举例
【4月更文挑战第6天】适配器模式(Adapter Pattern)是一种结构型设计模式,它的主要目标是让原本由于接口不匹配而不能一起工作的类可以一起工作。适配器模式主要有两种形式:类适配器和对象适配器。类适配器模式通过继承来实现适配,而对象适配器模式则通过组合来实现
30 4
|
1月前
|
设计模式 算法 API
适配器模式:C++设计模式中的瑞士军刀
适配器模式:C++设计模式中的瑞士军刀
48 0
|
1月前
|
设计模式
设计模式之适配器模式
设计模式之适配器模式
|
1月前
|
设计模式 Java 程序员
【设计模式】适配器模式
【设计模式】适配器模式
|
3月前
|
设计模式 程序员
【设计模式】适配器模式
【1月更文挑战第27天】【设计模式】适配器模式
|
3月前
|
设计模式
设计模式-类适配器模式
设计模式-类适配器模式
13 0
|
3月前
|
设计模式 uml
设计模式-适配器模式1
设计模式-适配器模式1
22 0
设计模式-适配器模式1
|
3月前
|
设计模式 uml
设计模式-适配器模式(对象适配器)
设计模式-适配器模式(对象适配器)
19 0
|
3月前
|
设计模式
设计模式-适配器模式
设计模式-适配器模式
|
3月前
|
设计模式
设计模式 | 适配器模式
设计模式 | 适配器模式
16 0