设计模式:代理模式

1、代理模式中对象:代理对象、被代理对象。

2、代理对象需要完成被代理对象的需要完成的事。

3、代理对象需要拿到被代理对象的引用,因此,拥有被代理对象的引用当作成员变量。

4、代理执行对象需要复写代理工具类的invoke方法。

 

动态代理:

public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException;

  函数的作用:

1、根据被代理类的接口(interfaces)和 被代理类的类加载器(loader)在JVM内存中产生一个新的匿名类,该类集成了代理工具类(Proxy)并实现了接口(interfaces);

2、匿名类引用调用接口方法时,方法内部调用代理类的invoke接口。

public Object invoke(Object proxy, Method method, Object[] args) throws Throwable;

函数作用:

1、代理类拥有被代理类的对象的引用;

2、invoke内部调用 method.invoke,根据反射机制,调到被代理类相关的方法。

 

 

1、代理模式(动态代理、静态代理)

2、工厂模式(简单工厂、工厂方法、抽象方法)

3、单例模式

4、委派模式

5、策略模式

6、原型模式

7、模板模式

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值