• IO中的装饰器模式


    //可以进InputStream 类 区分为目的和方法两类

    //一般直接子类,都是目的不同的(A类),

    // 如FileInputStream, #从文件中获得字节。
    // ByteArrayInputStream #包含一个内存缓冲区,字节从中取出。
    // ObjectInputStream #用来恢复被序列化的对象。
    // PipedInputStream #管道输入流,读取管道内容。多和PipedOutputStream一起用于多线程通信。
    // SequenceInputStream #是多种输入流的逻辑串联,从第一个输入流读取,直到最后一个输入流。
    // StringBufferInputStream #读取的字节由字符串提供。


    // 这里有一个特殊的子类, FilterInputStream 不作为直接子类使用,而作为父类给其他的装饰器子类[或者自定义的子类]继承;
    //第二类为 增强的方法类型(增强功能)(B类); 典型的以FilterInputStream 为父类的代表的系列子类,都是装饰器模式
    //(选择继承FilterInputStream 可以让装饰类更加专注于解决增强功能的问题)
    //如BufferedInputStream;
    // DataInputStream

    //装饰器的目的,在于减少源类的数量,将A*B的数量改为A+B,这是比继承的优势;
    //同时使Java类更加有层次性;



    //FilterInputStream 典型的装饰模式类的父类,继承FilterInputStream 即可实现自己的装饰器


    //即可实现一个装饰类(eg:BufferedInputStream);
    多想,多试
  • 相关阅读:
    借了个屏幕来用
    生命开始的地方
    看了STLPort的安装方法,晕了
    程序员必备的10大健康装备!
    《代码整洁之道》读书笔记
    Mockito使用
    学习Emacs的理由
    shell 脚本编程的10 个最佳实践
    MongoDB入门
    用Orgmode实践《奇特的一生》
  • 原文地址:https://www.cnblogs.com/junyi0120/p/7794645.html
Copyright © 2020-2023  润新知