zoukankan      html  css  js  c++  java
  • 几种设计模式的理解

    1.面向接口编程

    2.门面模式

    3.动态代理
    1).接口对接,接口实现类(被代理实现类)
    2).动态代理的实现类。
    3).获取动态代理实现类对象实例,参数是被代理实现类
    InvocationHandler handler = new BookProxyHandler(bookProxy);
    4).获取动态代理实现类的代理Proxy对象实例。(可以在反射方法前后加代码,实现AOP或者日志记录等)
    proxy = (BookProxy) Proxy.newProxyInstance(
    loader, interfaces, handler);
    5).利用Proxy调用动态实现类的方法执行操作。
    proxy.addBook();
    因为动态实现类和被代理实现类具有同样的方法,调用动态实现类的方法,通过方法名的参数传递,实现调用被代理实现类的方法并能进行提前或者结束前的处理,
    这就为日志打印和AOP做好了技术储备。

    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    System.out.println("before......");
    Object result = method.invoke(this.obj, args);
    System.out.println("after.......");
    return result;
    }

    4.工厂模式

  • 相关阅读:
    Kafka基础
    操作系统实验(一)-Shell编程
    计算机组成原理05-系统总线(下)
    计算机组成原理04-系统总线
    计算机组成原理03-概论思考
    计算机组成原理02-系统概论(下)
    计算机组成原理01-系统概论
    Python&&Pip
    我的爱情观
    node.js简介
  • 原文地址:https://www.cnblogs.com/limingxian537423/p/7610579.html
Copyright © 2011-2022 走看看