只有光头才能变强
引用>
在看到<代码> FilterInputStream 代码>和<代码> FilterOutputStream> 代码时看到了之前常听见的<>强装饰模式>强(对IO一定了解的同学可能都会知道那么一句话:在IO用得最多的就是装饰模式了)。
看到这里你以为我要讲装饰模式了么?不,是今天我们来讲讲<强>什么是代理模式强>(就是这么皮,装饰模式明天讲吧~)。
受知乎@Beautiful Java文章和《设计模式之禅》的启发,我也来搞一篇脑洞小开的文章. .
引用>由标题可知,这篇文章是写给我女朋友看的。自从她知道我开了公众号以后就每天看我写的文章,之前写点小算法的时候她觉得编程还是挺有意思,想去学学。<强>可是>强,从我开始写Java容器,多线程,她说一点都看不懂了。于是乎,现在来写点<强>既高大尚,又容易懂的东西强>。
<代码类=癑ava语言Java hljs”>,,女朋友的女朋友=女朋友();
,,sayingProxy(女朋友);
代码>那么接下来就开始吧,如果文章有错误的地方请大家多多包涵,不吝在评论区指正哦~
声明:本文使用JDK1.8
引用>
代理模式是一种非常好理解的一种设计模式,<强>生活中处处都有代理强>:
<李>
李> <李>
李> <李>
李> <李>
李>
无论是经纪人,黄牛,游戏代练,律师他们都是<>强得帮我们干活>强。但是他们<强>不能一手包办>强的,仅仅在“我”的基础上处理一些杂碎的东西(我们不愿意干,或者干不了的东西)。
<李>
导演找了黄宝强的经纪人<强>让王宝强去拍电影>强壮!
李> <李>黄牛去排队<强>让我们能挂上号>强壮!
李> <李>游戏代练上分<强>是我的微信账号>强壮!
李> <李>律师帮我处理法律上的问题,如果打官司失败,<强>牢还是由我来坐>强壮!
李>再举个例子:
<李>
现在我是一个网红,拥有很多粉丝。粉丝希望我天天写代码给他们看,那我肯定不能天天写代码啊,我岂不是很忙…。于是乎,我就去找了个经纪人。这个经纪人就代表了我。当<强>忠实粉丝强>想要我写代码的时候,应该是先找经纪人,告诉经纪人想让我写代码。
李> <李>十年过去了,我越来越红了,<强>头发也越来越少>强。不是粉丝想要我写代码,我就写了。我要收费了。但是呢,作为一个公众人物,不可能是我自己说:我要收10000多万,我才会去写代码。于是这就让经纪人对粉丝说:只万有10000人,我才会写代码。
李> <李>李> <李>
<强>经纪人就是代理,实际写代码的还是我强>
李>所以说代理模式就是:<强>当前对象不愿意干的,没法干的东西委托给别的对象来做>强,我只要做好本分的东西就好了!
这里有一个程序员接口,他们每天就是写代码
<代码类=癹ava语言java hljs”> {
,,
,;
}
代码>Java3y也是一个程序员,他也写代码(每个程序员写的代码都不一样,所以分了接口和实现类)
<代码类=癹ava语言java hljs”> {
,,
,{
,,,,System.out.println ();
,,}
}
代码>此时Java3y已经是一个网红了,他不想枯燥地写代码。他在想:“在写代码时能赚钱就好咯,有人给我钱,我才写代码”。<强>但是>强,Java3y的文笔太烂了,一旦有什么冬瓜豆腐,分分钟变成过气网红,这是Java3y不愿意看到的。
而知乎,博客园这种平台又<强>不能>强自己给自己点赞来吸引流量(——在<强>当前对象无法做强>)
所以Java3y去请了一个<强>程序员大V(代理)强>来实现自己的计划,这个程序员大V会每次让Java3y发文章时,就给Java3y点赞,评论,鼓吹这文章好。只要流量有了,钱就到手了。
<代码类=癹ava语言java hljs”> {
,,
,Java3y Java3y;
,,{
,,,,。java3y=java3y;
,,}
,,
,{
,,,,System.out.println ();
,,}
,,
,{
,,,,
,,,java3y.coding ();
,,,,
,,,upvote ();
,,}
}
代码>文章(代)码还是由Java3y来发,但每次发送之后程序员大V都会点赞。
<代码类=癹ava语言java hljs”> {<人物>
,,{
,,,,
,,,Java3y Java3y=Java3y ();
,,,,
,,程序员,程序员=ProgrammerBigV (java3y);
,,,,
,,,programmer.coding ();
,,}
}
代码>给女朋友讲解什么是代理模式
给女朋友讲解什么是代理模式
<节>