代理模式
一、什么是代理模式
- 代理模式:为其他对象提供一种代理以控制对这个对象的访问
 
二、简单例子

- 这里面的骏骏就起到了代理的身份,而贵贵则是被代理的身份。
 
三、代码实现
1、用一个接口(GivingGifts)来保存送礼物的动作
-  
package java_proxy; /** * 这是送礼物的接口,要送礼物就要实现接口 */ public interface GivingGifts { void sendingDolls(); //送玩偶 void sendEarrings(); //送耳环 void sendingFlowers(); //送鲜花 } 
2、航航的类
-  
属性用于保存姓名
 -  
public class Gril { public String name; public Gril(String nameString){ this.name = nameString; } } 
3、被代理类(贵贵)
-  
/** * 贵贵 */ public class Lmg implements GivingGifts{ private Gril gril; //要送东西的对象 public Lmg(Gril gril) { this.gril = gril; //通过构造器将要送东西的航航信息录进来 } @Override public void sendingDolls() { System.out.println("lmg送玩偶给"+gril.name); } @Override public void sendEarrings() { System.out.println("lmg送耳环给"+gril.name); } @Override public void sendingFlowers() { System.out.println("lmg送鲜花给"+gril.name); } } 
4、代理类(骏骏)
-  
/** * 代理类,代理lmg要做的事 */ public class Zzj implements GivingGifts{ private Lmg lmg; public Zzj(Gril gril) { //将航航的信息通过lmg的构造器导入进去,因为lmg这个类不声明 lmg = new Lmg(gril); } @Override public void sendingDolls() { lmg.sendingDolls(); } @Override public void sendEarrings() { lmg.sendEarrings(); } @Override public void sendingFlowers() { lmg.sendingFlowers(); } } 
5、测试代码
-  
public class Main { public static void main(String[] args) { Gril lwh = new Gril("lwh"); //声明被送礼物的人的对象 Zzj zzj = new Zzj(lwh); //声明代理类的对象,并将对方信息导入 zzj.sendingDolls(); zzj.sendEarrings(); zzj.sendingFlowers(); } } -  

 















![[Machine Learning][Part 6]Cost Function代价函数和梯度正则化](https://img-blog.csdnimg.cn/a7a14b84cdf746c380d7ed4ced762320.png)



