zoukankan      html  css  js  c++  java
  • 适配器模式

    今天进入了结构型模式篇之第一------适配器模式

    其实,适配器模式在编程中我们会不知不觉中应用到,我也有用过。我个人感觉就是利用现有的资源,然后根据接口要求适配。

    上面UML的这种事对象适配器,适配器有两种表达方式,另一种的类适配器。待会说。上面的结构清晰简明就不多说了。反正这种文章只有我自己看(自娱自乐)。

    接下来看个例子吧。

    interface IStack//客户期望的接口(Request())
        {
            void Push(object item);
            object Pop();
            object Peek(object item);
        }
    
    namespace Adapter
    {
        class Adapter:IStack//适配对象
        {
            ArrayList Adaptee;//被适配对象--(我们拥有的资源)
    
            public Adapter() {
                Adaptee = new ArrayList();
            }
    
            public void Push(object item) {
                Adaptee.Add(item);
            }
    
            public object Pop() {
                return Adaptee.RemoveAt(Adaptee.Count - 1);
            }
        }
    }
    

    上面的例子是,我们想实现一个栈的操作,但有不想从新写代码,只好利用现有的资源ArrayList进行改造,那么就要对它进行适配,适配成客户需要的接口。

    看看上面的代码ArrayList是以组合的形式存在的,更符合松耦合的原则。

    接下来看看类结构的形式吧。

    对这个UML解释:

    Adapter要同时继承接口Target和Adaptee,那么现在的情况是Adaptee是以继承的形式出现的,而面向对象用继承的判断法则是:子类而代替父类,如果按照上面的例子是不行的,继承的代价太大,也不符合面向对象思想。这种情况就不多说了。

  • 相关阅读:
    ssh框架整合之登录以及增删改查
    jsp+servlet实现模糊查询和分页效果
    面向对象高级部分
    个人第二次作业:熟悉使用工具
    个人第1次作业:准备与阅读
    如何计算团队成员贡献分
    Jira软件使用体验报告
    软件测试第四组第一周作业第三天
    软件测试第四组第一周作业第二天
    软件测试第四组第一周作业第一天
  • 原文地址:https://www.cnblogs.com/huaizuo/p/2614273.html
Copyright © 2011-2022 走看看