详列JDK中的设计模式结构型
Posted autism-dong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详列JDK中的设计模式结构型相关的知识,希望对你有一定的参考价值。
1.适配器模式(Adapter):将原来不兼容的类组合,现有类通过适配器转换为目标需要的类
成为目标对象并拥有原有的功能--实现目标接口,并拥有原有类或继承原有类-->转换它
(1)FileInputStream-->InputStreamReader
FileOutputStream-->OutputStreamWriter
2.装饰器模式(Decorator)
增强原有类的功能,替代它的位置,拥有它的功能并增强它的功能
(1)InputStream-->BufferedInputStream
Reader-->BufferedReader ......java.io包
3.代理模式(Proxy)
增强被代理类的功能并对被代理类进行控制
(1)jdk中动态代理的实现:
动态代理-->在运行时期动态地增强对象,而非类似装饰器模式的静态在编译器就形成增强
动态代理的实现:定义拦截器实现对被代理类的指定方法的拦截InvocationHandler
Proxy.newInstance()传入拦截器及被代理类信息获取代理类实例
4.桥接模式(Bridge):将抽象部分与实现部分分离,使他们独立变化,通过组合实现交互
(1)java.util.logging中的Handler和Formatter
5.组合模式(Compositer):一致性地对待组合对象和独立对象,处理树结构
(1)org.w3c.dom
构建document对象的建造者模式,处理叶节点和非叶节点的组合模式
6.外观模式(Facade):封装子系统,对外提供一致性的接口
(1)java.util.logging包中
有Hander,Formattor之间的桥接模式
又有Logger的外观模式
7. 享元模式(FlyWeight)
共享对象,节省内存
(1)Integer.valueOf(int i) Integer[-128,127]的缓存
Character.valueOf(char c) 字符的缓存
(2)String常量池
参考:https://blog.csdn.net/qq_38311489/article/details/89439835
以上是关于详列JDK中的设计模式结构型的主要内容,如果未能解决你的问题,请参考以下文章
设计模式 结构型模式 -- 适配器模式(概述类适配器模式对象适配器模式适配器模式适用场景JDK源码解析(I / O流))
设计模式 结构型模式 -- 享元模式 JDK源码分析 Integer
设计模式 结构型模式 -- 代理模式(动态代理(JDK动态代理(JDK动态代理要求必须定义接口,对接口进行代理。)动态代理原理(使用arthas-boot.jar查看代理类的结构)动态代理的作用)(代