代理模式_省心,第三方解决


<pre name="code" class="java">package com.MrZhou.Test;

/*
 * 代理模式:请律师的好处是省心并且专业,他在做同样的事情前提下,还会收集对你有利的证据和资料(collectInfo),以及后续事情的处理(finish)。
 * 只需要提供有效的名字即可

 什么是代理模式?代理模式在各类开发中运用的相当广泛,不论是j2ee,android还是iOS,都能看到它的身影,
 所以说设计模式无处不在。代理模式,字面理解就是自己不方便做或者不能做的事情,需要第三方代替来做,
 最终通过第三方来达到自己想要的目的或效果。举例了:员工小李在B总公司打工,B总成天让小李加班不给加班费,
 小李忍受不住了,就想去法院告B总。虽然法律上允许打官司不请律师,允许自辩。但是小李第一不熟悉法律起诉的具体流程,
 第二嘴比较笨,人一多腿就抖得厉害。因此,小李决定去找律师帮忙打官司。找律师打官司和自己打官司相比,有相同的地方,也有不同的地方。
 * 
 */
public class Test {

	public static void main(String[] args) {
	    System.out.println("我受不了了,我要打官司告老板");
        System.out.println("找律师解决一下吧......");
        Lawyer lawyer = new Lawyer("傻大哈");
        lawyer.dosomething();
        lawyer.notifys();
	}
}
// 律师类
class Lawyer implements protocol {

	String name;
	// 对于被告来说,必须创建一个Employer类,并实例化后传参给Lawyer类,这样做,是不是暴漏了Employer?
	// 如果隐藏一下,对于被告来说,更智能傻瓜一点,该怎么做呢?
	private Employer employer;

	public Lawyer(String name) {

		if (name == null) {
			return;
		}
		if (employer == null)
			employer = new Employer();
		employer.register(name);
		register(name);

	}

	@Override
	public void register(String name) {
		this.name = name;
	}

	@Override
	public void dosomething() {
		System.out.println("首先, 我要收集关于" + name + "的材料");
		employer.dosomething();
	}

	@Override
	public void notifys() {
		//调用employer的方法
		System.out.println("本次官司打完了,,,,,,");
		employer.notifys();
		
	}

}

// 雇主类
class Employer implements protocol {

	String name = null;

	@Override
	public void register(String name) {
		this.name = name;
	}

	@Override
	public void dosomething() {
		System.out.println("我是'" + name + "'要告B总,他每天让我不停的加班,还没有加班费。");
	}

	@Override
	public void notifys() {
		System.out.println("法院裁定,官司赢了,B总需要赔偿10万元精神补偿费。");
	}

}

// Protocol这个类就是上面所说的协议,
// 是被代理者或者代理者共同遵守的约定。也就是说,无论是原告还是代理律师,到法院走程序,都需要做的事情。我们抽象出来,这个就是协议。
interface protocol {
	// 登记资料
	public void register(String name);

	// 打官司
	public void dosomething();

	// 通知雇主
	public void notifys();
}


 





<pre name="code" class="java">打印结果: 我受不了了,我要打官司告老板
找律师解决一下吧......
首先, 我要收集关于傻大哈的材料
我是'傻大哈'要告B总,他每天让我不停的加班,还没有加班费。
本次官司打完了,,,,,,
法院裁定,官司赢了,B总需要赔偿10万元精神补偿费。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值