zoukankan      html  css  js  c++  java
  • 【Unity与23种设计模式】适配器模式(Adapter)

    GoF中定义:

    “将一个类的接口转换成为客户端期待的类接口。适配器模式让原本接口不兼容的类能一起合作。”

    适配器模式与装饰模式有一定的相似之处

    两者都是在着手解决C#不能多继承的问题

    当出现一个不符合客户端接口的情况时

    再不想破坏接口的前提下

    就必须设计一个适配器来进行转换

    将原本不符合的接口,转换到客户端预期的接口上

    public abstract class Target {
        public abstract void Request();
    }
    public class Adaptee {
        public Adaptee() { }
    
        public void SpecificRequest() {
            Debug.Log("调用了Adaptee.SpecificRequest");
        }
    }
    
    public class Adapter : Target {
        private Adaptee m_Adaptee = new Adaptee();
    
        public Adapter() { }
    
        public override void Request() {
            m_Adaptee.SpecificRequest();
        }
    }
    //测试类
    public class TestAdapter{
        void UnitTest() {
            Target theTarget = new Adapter();
            theTarget.Request();
        }
    }

    其实就是在不能多继承的情况下

    一种采取继承方式

    其他的持有引用

    然后在重新组合

    文章整理自书籍《设计模式与游戏完美开发》 菜升达 著

  • 相关阅读:
    easypoi添加下拉预选值
    java启动项目字符编码和配置文件的字符编码问题
    leetcode
    leetcode
    leetcode
    leetcode
    事务的隔离级别- 极客时间()
    数据库的事务
    SQL中的视图(极客时间)
    SQL中的连接(极客时间)
  • 原文地址:https://www.cnblogs.com/fws94/p/7478935.html
Copyright © 2011-2022 走看看