/* 代理设计模式 模拟一种情况:张某有很多钱,陈某向张某借了100W。规定一年后归还。 但是在一年后,当张某向陈某讨债时,陈某却不还。 无奈之下张某找到了范某,范某经营了一家讨债公司,基本手法,威逼利诱。 范某为了成功讨回张某的钱。在这之前准备了刀、枪、棍棒。 陈某害怕范某,把钱还了。 讨回钱后,张某都得归还的100W,范某销毁罪证。 */ interface Dun{ public void rentMoney(); } class Realer implements Dun{ public void rentMoney(){ System.out.println("Realer get money!"); //真正需要实现的功能 } } class Proxyer implements Dun{ //设置代理 Dun dun = null ; public Proxyer(Dun dun){ this.dun = dun; //传递代理对象 } public void Ready(){ System.out.println("威逼利诱"); } public void Destory(){ System.out.println("销毁罪证"); } public void rentMoney(){ this.Ready(); //为实现真正功能而做准备。 this.dun.rentMoney(); //真正要实现的功能。 this.Destory(); //实现之后的动作。 } } public class ProxyDemo{ public static void main(String args[]){ Dun dun= new Proxyer(new Realer()); //通过代理进行声明 dun.rentMoney(); } } //E:\java>java ProxyDemo //威逼利诱 //Realer get money! //销毁罪证
Copyright @ 2024 Jesuca Powered by .NET 9.0 on Kubernetes Powered by: .Text and ASP.NET Theme by: .NET Monster