栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

java设计模式及实践(三)

Java 更新时间:发布时间: 百科书网 趣学号
第四章 结构型模式 4.1适配器模式
  1. 代码重用的方案,即将已有的代码适配或者包装到一些新接口中,而这些接口是在最初设计代码的时候没有考虑到的。
4.2 代理模式
  1. 目的是为真实对象提供一个代理对象,二者占用的内存一样,在调用前后执行其他操作时,由代理对象代理原对象完成。
  2. 适配器模式和代理模式之间的主要区别在于代理模式提供了完全相同的接口。装饰器模式增强了接口,适配器模式更改了接口。
  3. 代理对象没有业务逻辑,它在建立起一个句柄后,会将业务请求委托给真实对象来处理。
4.3 装饰器模式
  1. 有时需要在现有代码中添加或删除一些功能,同时对现有的代码结构不会造成影响,并且这些删除或者增加的功能又不足以做成一个子类。
  2. 装饰器模式的目的是动态扩展现有对象的功能而不更新原有代码。它能够适配原始接口,并且使用组合而不是子类化来扩展功能。
public static void main(String[] args) {
         final String text = "text";
         final PrintText object = new PrintAsciiText();
         final PrintText printer = new PrintTextHexDecorator(object);
         object.print(text);
         printer.print(text);
    }

    interface PrintText{
        public void print(String text);
    }

    static class PrintAsciiText implements PrintText{
        public void print(String text){
            System.out.println("Print ASCII: "+text);
        }
    }

    static class PrintTextHexDecorator implements PrintText{
        private PrintText inner;
        public PrintTextHexDecorator(PrintText inner){
            this.inner = inner;
        }
        public void print(String text){
            String hex = text.chars().boxed().map(x->"0x"+Integer.toHexString(x)).collect(Collectors.joining(" "));
            inner.print(text+"-> HEX:"+hex);
        }
    }
4.4 桥接模式
  1. 桥接模式的目的是将抽象与实现解耦,使得二者可以独立地变化。
4.5 组合模式
4.6外观模式
  1. 目的是为复杂的子系统提供单一的统一接口。通过为最重要的用例提供接口,能够简化大型和复杂系统的使用。
4.7享元模式
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/957383.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号