OOAD-设计模式(四)结构型模式之适配器、装饰器、代理模式
2017-10-27 11:50
369 查看
前言
前面我们学习了创建型设计模式,其中有5中,个人感觉比较重要的是工厂方法模式、单例模式、原型模式。接下来我将分享的是结构型模式!
适配器模式将某个类的接口转换成客户端(用户)期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。
cglib代理
喜欢就点个“推荐”哦!
前面我们学习了创建型设计模式,其中有5中,个人感觉比较重要的是工厂方法模式、单例模式、原型模式。接下来我将分享的是结构型模式!
一、适配器模式
1.1、适配器模式概述
适配器模式(Adapter)属于结构型设计模式,它的作用如同它的名字一样,用于转换接口。像我们的手机、电脑的电源适配器一样,适配器模式可以使彼此不兼容的代码间优雅地协作。适配器模式将某个类的接口转换成客户端(用户)期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。
//目标的对象 没有实现接口 public class BookService { public void addBook() { System.out.println("添加书籍成功"); } } //产生代理对象的工厂类 public class MyCglibProxyFactory implements MethodInterceptor { public Object getInstance(Class<?> c) { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(c); enhancer.setCallback(this); return enhancer.create(); } public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { System.out.println("开始执行方法"); //这句代码最终会执行到我们目标对象中的方法 proxy.invokeSuper(obj, args); System.out.println("方法执行结束"); return null; } } //测试类 public class TestCglibProxy { public static void main(String[] args) { MyCglibProxyFactory cglib=new MyCglibProxyFactory(); BookService bookCglib= (BookService)cglib.getInstance(new BookService().getClass()); bookCglib.addBook(); System.out.println(bookCglib.getClass()); } }
cglib代理
喜欢就点个“推荐”哦!
相关文章推荐
- OOAD-设计模式(四)结构型模式之适配器、装饰器、代理模式
- 设计模式之结构型模式(适配器、桥接、外观、代理、享元、组合、装饰)
- "围观"设计模式(30)--结构型设计模式总结(适配器、代理、装饰、外观、桥梁、组合、享元)
- 代理模式、装饰模式、适配器模式、组合模式、桥梁模式、外观模式、享元模式【读书笔记】设计模式4章:结构型模式
- 装饰设计模式(适配器、动态代理等)编写步骤
- 再看设计模式:代理、装饰和适配器
- 23种设计模式--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
- 关于设计模式装饰器、适配器、代理模式的关键点理解
- 设计模式--适配器、代理、装饰、外观模式的区别与联系
- 编程经常使用设计模式具体解释--(中篇)(适配器、装饰、代理、外观、桥接、组合、享元)
- 编程常用设计模式详解--(中篇)(适配器、装饰、代理、外观、桥接、组合、享元)
- 23种设计模式3--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
- 设计模式23---设计模式之装饰模式(Decorator)(结构型)
- 结构型设计模式---适配器
- 十二.结构型设计模式——Decorator Patten(装饰模式)
- 设计模式(十一)代理模式Proxy(结构型)
- 结构型设计模式-装饰器模式
- 菜鸟版JAVA设计模式—适配器模式,装饰模式,代理模式异同
- 【设计模式基础】结构型模式 - 1 - 适配器(Adapter)
- 经典设计模式1:结构型模式:DECORATOR——装饰模式