VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • io流(适配器模式)

适配器模式

  • 例如:用户的需求与解决的代码不匹配,这就需要适配器

    • 类适配器
    package com.bjsxt.test11;
    //被适配的类
    public class Adaptee {
        public void surf(){
            System.out.println("提供上网功能!");
        }
    }
    //客户的目的就是为了上网
    interface Target{
        void toSurf();
    }
    class Client{
        public void want(Target t){
            t.toSurf();
        }
    }
    //进行适配工作
    class Adapter extends Adaptee implements Target{
        @Override
        public void toSurf() {
            System.out.println("转换。。。");
            super.surf();
        }
    }
    class Test{
        public static void main(String[] args) {
            new Client().want(new Adapter());
        }
    }
    
    • 对象适配器(仅改变适配器的类即可)
    package com.bjsxt.test11;
    //被适配的类
    public class Adaptee {
        public void surf(){
            System.out.println("提供上网功能!");
        }
    }
    //客户的目的就是为了上网
    interface Target{
        void toSurf();
    }
    class Client{
        public void want(Target t){
            t.toSurf();
        }
    }
    //进行适配工作
    //对象适配器就更改适配器,不改其他的
    class Adapter implements Target{
        Adaptee ae;
        public Adapter(Adaptee ae){
            this.ae=ae;
        }
        @Override
        public void toSurf() {
            System.out.println("转换。。。");
            ae.surf();
        }
    }
    class Test{
        public static void main(String[] args) {
            new Client().want(new Adapter(new Adaptee()));
        }
    }
    
  • 适配器模式的优缺点:

    优点:

    ​ 更好的复用性

    ​ 更好的扩展性:调用自己开发的功能,从而扩展系统的功能

    缺点:

    ​ 过多的适配器会让系统特别的凌乱,如果不是很必要,可以不适用适配器,而是直接对系统进行重构

树越是向往高处的光亮,它的根就越要向下,向泥土向黑暗的深处。
 
原文:https://www.cnblogs.com/H-scholar/p/14543821.html

相关教程