九.结构型设计模式——Adapter Pattern(适配器模式)
2010-11-01 21:31
344 查看
定义
将一个接口转换成客户想要的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。UML类图如下:
代码
//假定系统原来已定义Clean接口 public interface IClean { void MakeClean(); } //Office类,实现Clean接口 public class Office:IClean { public void MakeClean() { Console.WriteLine("清洁办公室"); } } //WorkShop类,实现Clean接口 public class WorkShop:IClean { public void MakeClean() { Console.WriteLine("清洁工作室"); } } //IExtra接口扩展了Clean接口 public interface IExtra : IClean { void TakeCare(); } //Facility设备类实现了IExtra接口,除了清洁还要养护 public class Facility:IExtra { public void MakeClean() { Console.WriteLine("清洁设备"); } public void TakeCare() { Console.WriteLine("养护照料"); } } //客户应用测试 class Client { [STAThread] static void Main(string[] args) { IExtra e = new Facility(); e.MakeClean(); e.TakeCare(); IClean c = new Office(); c.MakeClean(); c = new WorkShop(); c.MakeClean(); Console.Read(); } }
优势和缺陷
适配器模式可以将一个类的接口和另一个类的接口匹配起来,使用的前提是你不能或不想修改原来的适配器母接口(adaptee)。例如,你向第三方购买了一些类、控件,但是没有源程序,这时,使用适配器模式,你可以统一对象访问接口。但客户调用可能需要变动。应用情景
下面的情景很适合应用适配器模式:1. 对象需要利用现存的并且接口不兼容的类。
2. 你需要创建可重用的类以协作其他接口不一定兼容的类。
3. 你需要使用若干个现存的子类但又不想派生这些子类的每一个接口。
相关文章推荐
- 结构型设计模式---适配器模式(adapter)
- 设计模式--适配器模式Adapter(结构型)
- java-设计模式(结构型)-【适配器模式】
- 【设计模式学习笔记七】【结构型模式】【适配器模式(Adapter)】
- 设计模式深入学习---Adapter 适配器模式(结构型模式)
- java设计模式——结构型之适配器模式
- C#设计模式之六适配器模式(Adapter Pattern)【结构型】
- 设计模式(五)适配器模式Adapter(结构型)
- [设计模式笔记]二. 结构型模式--7.Adapter模式(适配器模式)(一)
- 设计模式 — 结构型模式 适配器模式
- 23种设计模式3--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
- 设计模式--适配器模式Adapter(结构型)
- [结构型(接口型模式)]Adapter pattern 适配器模式
- 设计模式(6) 结构型模式和适配器模式(ADAPTER)
- 代理模式、装饰模式、适配器模式、组合模式、桥梁模式、外观模式、享元模式【读书笔记】设计模式4章:结构型模式
- [设计模式笔记]二. 结构型模式--7.Adapter模式(适配器模式)(二)
- 设计模式(结构型模式) ----- 适配器模式
- Java常用的设计模式06:常用设计模式之适配器模式(结构型模式)
- java 设计模式——结构型模式(1.适配器模式)
- 设计模式(五)适配器模式Adapter(结构型)