设计模式GOF23之第二回
1. 概述 结构型模式的作用:从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。 2. 适配器模式(Adapter) 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 常见的的使用,字节流转字符流就是使用适配器模式。 java.io.InputStreamReader(InputStream) java.io.OutputStreamWriter(OutputStream) 3. 代理模式(Proxy) 通过代理,控制对对象的访问! 使对象专注于核心逻辑的处理。 可以详细控制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。(即:AOP的微观实现!) AOP(Aspect Oriented Programming面向切面编程)的核心实现机制!实现了横向,跨类的代码共享。 应用场景: 安全代理:屏蔽对真实角色的直接访问。 远程代理:通过代理类处理远程方法调用(RMI) 延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象。 分类: 静态代理(静态定义代理类) 动态代理(动态生成代理类) JDK自带的动态代理 javaassist字节码操作库实现 CGLIB ASM(底层使用指令,可维护性较差) 静态代理 动态代理 JDK自带的动态代理 java.lang