代理模式:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)驼侠。
UML圖:
從圖中可以看出教硫,當(dāng)我們要訪問(wèn)RealSubject時(shí),是通過(guò)訪問(wèn)ProxySubject來(lái)間接訪問(wèn)RealSubject百新。其實(shí)很好理解帖蔓,代碼我就不貼了矮瘟。
下面我們說(shuō)說(shuō)動(dòng)態(tài)代理:
動(dòng)態(tài)代理就是動(dòng)態(tài)的生成代理類,而不需要我們手動(dòng)生成(如ProxySubject)可以增加代碼的復(fù)用性塑娇。
Subject類:
RealSubject類:
ProxyHandler動(dòng)態(tài)代理類:必須實(shí)現(xiàn)InvocationHandler
TestAgency測(cè)試類: