设计模式——适配器模式
Posted dlvguo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式——适配器模式相关的知识,希望对你有一定的参考价值。
适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以无间合作。
这个模式可以创建适配器进行接口转换,让不兼容的接口变成兼容。
这个模式主要有四个部分:
Client:客户
Target:目标接口
Adapter:适配器
Adaptee:被适配者
例子:假设有一个鸭子类,还有一个火鸡类,想让天鹅完成火鸡做的事情,这时候我们就需要一个鸭子适配器.
鸭子类:
public interface Duck { void Quack(); void Fly(); } public class MallardDuck : Duck { public void Quack() { Debug.WriteLine("Quack"); } public void Fly() { Debug.WriteLine("Fly"); } }
火鸡类:
public interface TurKey { void Gobble(); void Fly(); } public class WildTurKey : TurKey { public void Gobble() { Debug.WriteLine("Gobble gobble"); } public void Fly() { Debug.WriteLine("I am Flying Short Distance"); } }
鸭子对象适配器 (采用包含的方式):
public class TurKeyAdapter : Duck { TurKey turKey; public TurKeyAdapter(TurKey turKey) { this.turKey = turKey; } public void Quack() { turKey.Gobble(); } public void Fly() { turKey.Fly(); } }
鸭子的类适配器(类适配器采用多重继承的方式):
public class TurKeyAdapter : WildTurKey, Duck { public void Quack() { this.Gobble(); } public new void Fly() { base.Fly(); } }
以上是关于设计模式——适配器模式的主要内容,如果未能解决你的问题,请参考以下文章