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; } }

 

目录
相关文章
|
4月前
|
设计模式 Java
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
|
1月前
|
设计模式 XML 存储
【六】设计模式~~~结构型模式~~~适配器模式(Java)
文章详细介绍了适配器模式(Adapter Pattern),这是一种结构型设计模式,用于将一个类的接口转换成客户期望的另一个接口,使原本不兼容的接口能够一起工作,提高了类的复用性和系统的灵活性。通过对象适配器和类适配器两种实现方式,展示了适配器模式的代码应用,并讨论了其优点、缺点以及适用场景。
|
2月前
|
设计模式 Go 数据处理
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
|
3月前
|
设计模式
适配器模式-大话设计模式
适配器模式-大话设计模式
|
2月前
|
设计模式 JavaScript 前端开发
js设计模式【详解】—— 适配器模式
js设计模式【详解】—— 适配器模式
24 0
|
3月前
|
设计模式 Java Android开发
Java设计模式:适配器模式的三种形式(五)
Java设计模式:适配器模式的三种形式(五)
|
3月前
|
设计模式 Java
Java设计模式之适配器模式详解
Java设计模式之适配器模式详解
|
3月前
|
设计模式 程序员
结构型设计模式之适配器模式
结构型设计模式之适配器模式
|
4月前
|
设计模式 Java Go
【设计模式】适配器模式怎么理解?
【设计模式】适配器模式怎么理解?
42 1
|
3月前
|
设计模式 算法 关系型数据库
设计模式第七讲-外观模式、适配器模式、模板方法模式详解
系统要求所有的数据库帮助类必须实现ISqlHelp接口,面向该接口编程,如SQLServerHelp类。 此时第三方提供了一个新的MySql的帮助类(假设是dll,不能修改),它的编程规范和ISqlHelp不兼容,这个时候就需要引入适配器类,使二者能相互兼容。
162 0