几种设计模式的理解
Posted lamsey16
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几种设计模式的理解相关的知识,希望对你有一定的参考价值。
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.工厂模式
以上是关于几种设计模式的理解的主要内容,如果未能解决你的问题,请参考以下文章