13适配器模式

Posted study-hard-forever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13适配器模式相关的知识,希望对你有一定的参考价值。

适配器模式:

适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。简单地说,就是所需要的东西就在眼前,但却不能使用,而在短时间内又无法改造它,于是我们就想办法适配它。

适配器模式主要应用于我们希望复用一些现存的类,但是接口与复用环境要求不一致的情况,这在遗留代码复用、类库迁移等方面非常有用。其本质就是:转换匹配,复用功能

GOF设计模式中,对适配器讲了两种类型:类适配器模式和对象适配器模式。

类适配器模式通过多重继承对一个接口与另一个接口进行匹配,这在C++里面是支持的,但是C#,Java等语言都只能有一个父类,不支持多重继承,因此我们把重点放在对象适配器模式。
(类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。)

适配器模式UML结构图:

技术图片

基本代码:

	class Target
    {
        public virtual void Request()
        {
            Console.WriteLine("普通请求");
        }
    }

    class Adaptee
    {
        public void SpecificRequest()
        {
            Console.WriteLine("特殊请求");
        }
    }

    class Adapter : Target
    {
        private Adaptee adaptee = new Adaptee();

        public override void Request()
        {
            adaptee.SpecificRequest();
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            Target target = new Adapter();
            target.Request();

            Console.Read();

        }
    }

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

我如何从一个片段到另一个片段的列表视图适配器进行事务

需要从寻呼机适配器识别当前视图片段

13适配器模式

大话设计模式读书笔记--13.适配器模式

如何使用 Android 片段?

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数