扣丁学堂Java开发之ProxyPattern代理模式详解

2018-03-09 10:12:59 519浏览

今天扣丁学堂Java培训之详细介绍首代理模式,首先ProxyPattern(即:代理模式),23种常用的面向对象软件的设计模式之一。

代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。



优点:

(1).职责清晰

真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。

(2).代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了的作用和保护了目标对象的作用。

(3).高扩展性

结构

一个是真正的你要访问的对象(目标类),另一个是代理对象,真正对象与代理

对象实现同一个接口,先访问代理类再访问真正要访问的对象。

案例代码

举个例子,假如说你走在大街上捡到一张小卡片,上面有一个美女头像和一个电话号码,上面写着招聘保姆请拨打该电话,于是你拨打电话,电话那头不是美女小姐姐在接电话,而是一个老大妈在接电话,跟你商量招聘保姆的价格,那这个老大妈我们可以认为是美女小姐姐的代理对象,用手动代理的方式来模拟一下。一不小心开了个车,听不懂的就算啦。。。

目标类和代理类所实现的接口代码

packagecom.proxy;

?

publicinterfaceWorkInter{

?

voidworkInNight(doublemoney);

voidworkInDay(doublemoney);

?

}

目标类代码

packagecom.proxy;

publicclassXJJimplementsWorkInter{

@Override

publicvoidworkInNight(doublemoney){

System.out.println("滴滴滴~~~夜班干活啦");

}

@Override

publicvoidworkInDay(doublemoney){

//TODOAuto-generatedmethodstub

System.out.println("滴滴滴~~~干活啦");

}

}

代理类代码

packagecom.proxy;

publicclassXJJProxyimplementsWorkInter{

privateXJJxjj;

publicXJJProxy(){

xjj=newXJJ();

}

@Override

publicvoidworkInNight(doublemoney){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidworkInDay(doublemoney){

System.out.println("代理收取提成"+(money/2));

xjj.workInDay(money/2);//小姐姐在干活

System.out.println("完事送回家");

}

}

?

测试类代码

classQiangGeTest{

publicstaticvoidmain(String[]args){

WorkInterxjjProxy=newXJJProxy();//创建代理类对象

xjjProxy.workInDay(200);

}

}

到这里,jdk的代理模式就分析完了,希望对爱好学习Java开发的同学有所帮助,最后想要了解更多内容的小伙伴可以登录扣丁学堂官网查看。扣丁学堂Java培训机构不仅有专业的老师和与时俱进的课程体系,还有大量的JavaEE视频教程供学员观看学习,想要了解学习Java的小伙伴快快行动吧。Java技术交流群:670348138。


关注微信公众号获取更多学习资料



关注微信公众号获取更多学习资料



查看更多关于“Java开发资讯的相关文章>>

标签: JavaEE视频教程 JavaEE培训 JavaEE开发工程师 Java培训 Java开发程序员 代理模式

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号