zoukankan      html  css  js  c++  java
  • [一天一个设计模式]-[适配器模式]

    在这里插入图片描述

    适配器模式,调用者调用的对象有一个标准规范,但是提供者不符合这个规范,此时调用者需要调用提供者中间就需要一个适配器来转换标准。类比于电源适配器。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

    举个栗子,电脑只有usb接口但是要读取sd卡内容

    类适配器模式

    这种模式是适配器是通过继承被继承对象来实现的。

    public interface USB {
        String readUSB();
    }
    
    public interface SD{
        String readSD();
    }
    
    pulic class SamSD implements SD{
       @Override
       public String readSD(){
           return "I'm SamSD";
       }
    }
    
    public class SDAdapteUSB extends SamSD implements USB{
        @Override
        public String readUSB(){
            return super.readSD();
        }
    }
    
    PC(){
      USB sd=new SDAdapteUSB();
      sd.readUSB();
    }
    
    对象适配器模式

    这种模式通过对象组合来实现,比类适配器灵活很多。

    
    public class SDAdapteUSB implements USB{
        SD sd;
        
        public SDAdapteUSB(SD sd){
            this.sd =sd;
        }
        
        @Override
        public String readUSB(){
            return sd.readSD();
        }
    }
    
    
    PC(){
        SD sd =new SamSD();
        USB usb=new SDAdapteUSB(sd);
        usb.readUSB();
    }
    
  • 相关阅读:
    23 情态动词+完成时
    22 情态动词否定和疑问
    青山有幸埋忠骨,白铁无辜铸佞臣。
    Modern Perl
    en_windows_10_enterprise_ltsc_2019_x64_dvd_5795bb03
    Destinos & Nuevos Destinos
    TVB <十兄弟>
    Great Udemy Courses
    assembly language reference
    Alex Jones
  • 原文地址:https://www.cnblogs.com/A-yes/p/12026939.html
Copyright © 2011-2022 走看看