设计模式之代理模式 java (1)

近期再看有关于设计模式的的东西,感觉在代码架构方面尤其有用,在上学的时候没好好学这些东西,感觉自己写的代码乱成一锅粥!呵呵---

今天把看到的代理模式给大家分享分享:

中心思想:(自己总结,不妥之处大家积极吐槽)代理这个东西我举个例子,拿KFC来说吧,KFC其实总部在美国,在中华大地上的全部是代理商,交加盟费之类的,然后你可以营业了以KFC的名义,我觉得其实KFC的总部没有营业,就是没有开展销售,但是KFC有销售的职能,只不过是自己不干罢了,他将销售的职能授予了代理商,中华大地的公众KFC以及全球的,由此看来中华大地的KFC和全球的KFC全是代理,这个就是代理模式。

用代码来解释吧!

KFC总部的具备的职能,只是不去亲自上!让代理商直接使用就OK!

package com.agei.proxy;

public interface KFCSellerInterface {
	public Object sell();
}

一下就是类似于KFC的运营部,专门琢磨怎么去销售的:

package com.agei.proxy;

public class KFCFactory implements KFCSellerInterface {

	@Override
	public Object sell() {
		// TODO Auto-generated method stub
		System.out.println("KFCFactory use");
		return new Object();
	}

}

真正的代理来了:直接使用KFC运营部的成果,来挣钱,交保护费!

package com.agei.proxy;

public class KFCProxy implements KFCSellerInterface{

	private KFCFactory kfcFactory = new KFCFactory();
	
	@Override
	public Object sell() {
		Object object = kfcFactory.sell();
		return object;
	}

}

客户去直接来个汉堡什么的,去的是代理商,但是得到的服务是KFC总部的那些玩意!

package com.agei.proxy;

public class Test {
	public static void main(String[] args) {
		KFCSellerInterface kInterface = new KFCProxy();
		kInterface.sell();
	}
}

这个在代码架构的时候,尤其有用,大概就是封装一个功能体,然后用代理来调用实现的方法~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值