设计模式——适配器模式

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

 

以上是关于设计模式——适配器模式的主要内容,如果未能解决你的问题,请参考以下文章

多选模式列表视图行在删除后保持选中状态

Java设计模式之适配器模式

设计模式之适配器模式

设计模式之适配器模式

php设计模式之适配器模式实例代码

.NET(C#) 设计模式 适配器模式