robbin谈如何学习设计模式

范凯个人网站源码robbin_site.zip robbin_site 是范凯的个人网站 http://robbinfan.com 网站的源码。 标签:robbin 立即下载

源自:http://www.kuqin.com/beginner/20054.html

备注:设计模式的根本也是为了代码重用,那只要你做到了很好的代码重用,你是否是否了GOF 设计模式23种之一根本不重要,首先是目标明确,再寻找有效的手段,而不是先我知道一种很好的方法,我要把他运用到那里去。

    随便谈谈我对设计模式的看法吧。我极度反感言必称设计模式,什么要学好OO,必先学好Gof这类的屁话。坦率说我也从来不刻意的去学习设计模式,我看到身边的朋友花那么多钱去买一大本厚厚的阎博士的设计模式的书,心里总是叹息一下,设计模式不是学出来的,是用出来的。设计模式应该怎么学习?应该我花两个小时给你讲一下,告诉你每个模式是怎么回事,应该在什么场合适用就OK了,这样就学完了。

然后你在自己的工作实践中,碰到了这类问题,想起来自己曾经听xx说过可以使用xx模式,于是乎,你再把阎博士的书打开看看(或者把banq的文章翻出来看看),进行   copy & paste。这样就够了,充分够了。你真的完全没有必要把模式看的多么神圣,多么神秘,多么高深,它就是一个让你去copy &   paste的代码片断,如此而已。所以Gof的书那么薄,因为作者知道设计模式本来就不是一个可以学出来的东西,所以Sun的J2EE模式就算加上了冗长的代码和罗嗦的描述,也是薄薄一本。把一本模式的书写的如此之厚,我认为已经失去了学习它的价值了。

而且“设计模式”这个词汇广义的来说指的是适用于特定场合的经过验证是良好的解决方案。其实只要你有足够的工作经验,就算你没有学过设计模式,你写出来的代码也会不知不觉符合某种模式的要求的。因为你经过很多实践经验,你已经积累了很多,你知道在什么场合代码应该怎么写,那么“在什么场合代码应该怎么写”这本身就是设计模式。

所以我认为没有必要刻意去学习设计模式,也没有必要把设计模式当做多么神圣的东西。只要你的OO编程经验达到了一定的水平,设计模式本来就是无师自通的。如果你的编程经验很少,你就是把Gof背得滚瓜烂熟,到时候你一样用不出来。

设计模式就像围棋中的定式,如果你是高手,你下的棋自然而然的符合一些定式的走法,如果你是初哥,你就是背了几千个定式,只要对手不按照定式来走,你就一点都用不上。

再说Gof的23种模式只不过是设计模式的沧海一粟,Sun的J2EE有15种设计模式,你还要不要学,要不要背?   不说别的,Hibernate现在也出了20种设计模式了,那是不是说你不把Hibernate的20种设计模式背的滚瓜烂熟,你就不可能把Hibernate学好用好呢?

总结一下我的观点:

设计模式就是定式,碰到这种场合你才用得上,所以学习设计模式,你只需要花2个小时过一遍,脑子里面有个印象就赶快收手,到用的时候再去copy &   paste。这样就够了。如果你告诉你花了几个月去钻研设计模式,我只能告诉你,你在浪费青春。

总之,水平没到,学也白学,水平到了,无师自通。所以不要学设计模式,看一遍就用,用多了,你自己也可以总结设计模式了。

评论

dlee 2003-12-24 16:56

我比较赞同 robbin   的看法,虽然我学习设计模式花费了不少时间(一两个月吧)。设计模式应该象手边的工具箱一样,我需要一把尺子就拿一把尺子来用,需要一只圆规就拿一只圆规来用,没有必要神秘化。在有些场合,如果不可能发生大的变化,就不要用设计模式,而用更简单的代码来实现。拥抱变化并不意味着过度设计。
               其实我们在开发中一些常用的注意事项和解决问题的通用套路就是设计模式。
               《设计模式》这本书确实不太适合初学者,因为书的作者主要注重的是准确性而不是可读性。这也是这本薄薄的小书我看了一个月之久的原因。也是为什么会有那么多解释这本书的书出现的原因。
               但是我的趣味是直接阅读大师的原著,那些让我感到痛苦的书往往收获是最大的。我第一遍读这本书的时候相当于是郭靖背九阴真经,现在一年半时间过去了,总算有了一些比较深入的理解。
               这个帖子讨论设计模式似乎是不太合适,呵呵。

ozzzzzz 2003-12-24 16:58

ribbin
               嘿嘿。我觉得看看阎博士的书还是对初学者还是很有帮助的,至少他们可以从那本书中明白正方形不是长方形的子类。但是要是依赖那本书进入设计模式的大门是不可能的,就是GoF的书我也不认为能让谁入门。
               在我看来设计模式也好,RUP也好,XP/AGILE也好都是工具,都有约束。知道什么时候用设计模式不重要,重要的是知道什么时候不要用设计模式。就这一点阎博士承认他的书没有对这个问题作深入的探讨。
               你用定式来说明设计模式很好,而学习定式的最佳途径就是实际使用定式。所以你说“设计模式不是学出来的,是用出来的”。
               GoF自己说他们并没有发明设计模式,而只是发现了设计模式。这就告诉我们可以通过积累发现新的模式。但是作为初学者还到不了无师自通的地步。要想提高水平,还必须学习一些前人的经验,而看看那些别人写的书还是对他们很有帮助的。
               不要自己发明轮子,是不是?学习一些套路还是对于提高水平有帮助。
               学习也不能盲目,没有什么东西是打遍天下无敌手的。

孤魂一笑 2003-12-24 17:11

ozzzzzz:
               你把robbin 的名字写错了,允许你say sorry.开玩笑了。

实用点吧,设计模式的根本也是为了代码重用,那只要你做到了很好的代码重用,你是否是否了GOF 设计模式23   种之一根本不重要,首先是目标明确,再寻找有效的手段,而不是先我知道一种很好的方法,我要把他运用到那里去。
                   至于他们两个人,我们也没有必要去评价。毕竟我们很多事情不清楚。

ozzzzzz 2003-12-24 17:29

robbin
               sorry。把你的名字和我另外一个朋友的名字搞混了。该死该死。
               孤魂一笑
               在我看来GoF当然是为了重用,但是不仅仅是重用,特别是代码的重用。可以说没有GoF就没有architecture和framework,设计模式可以说是现在设计的核心基础,它给了我们一个认识问题解决问题的途径。但是不能就此认为设计模式是什么玄奥无比难于掌握的东西。
               设计的本质在于权衡,而GoF只给我们提供了一个解决问题的方法,具体使用这种方法会有什么后果还要我们自己去掌握。
               我认为设计模式的根本其实在设计模式之外。

dlee 2003-12-24 17:43

我觉得理解了设计模式,再发现新的模式相对来说是比较容易的事情。但是如果完全不理解设计模式,自己也不容易发现新的模式,提高代码的重用性也是空谈。也许你自以为重用性已经最高了,但是别人用设计模式帮你重构一下后你发现居然还有那么多重用性可以提高。
               如果你象我的一个朋友一样写过几十万行代码,独立设计过多个开发框架。那么设计模式对你来说确实不是非常重要。但是普通程序员并没有那么多机会开发大项目,所以深入学习设计模式还是很有必要的。
               这个问题没必要争论,不是要不要设计模式的问题,而是如何用好的问题。

zingers 2003-12-24 18:32

阎宏确实有把简单问题复杂化的tend,既使是入门,也是以简洁为胜,他这样子狂举传说故事
               与我欣赏的自明性原则不兼容。

BANG如果用了他的图,那也是不太好,不过BANG后来删掉了。

孤魂一笑 2003-12-24 18:34

设计模式肯定是要用的。
               不过我是先按照自己的开始构想去实现代码,这一步骤以达到目的为主,当然写代码的时候就会去考虑使用那些模式,在做重构的时候可能侧重符合设计模式就更多点。我是很怕有些人为了设计模式而设计模式反而先给自己下个套。
               很多是为了设计模式而设计模式那其实有点那个什么。

再说一下阎博士的那本书,其实他在讲述设计模式之前的那些OO原则的讲述很不错。

robbin 2003-12-24 18:50


引用

设计模式的根本也是为了代码重用,那只要你做到了很好的代码重用,你是否是否了GOF 设计模式23   种之一根本不重要,首先是目标明确,再寻找有效的手段,而不是先我知道一种很好的方法,我要把他运用到那里去。

我觉得这句话真的说到我想表达的意思上了。只要你的代码结构良好,至于到底有没有所谓的设计模式,根本就是不重要的了。打个不恰当的比喻,一个好的杀手,他的目标就是一剑封喉,干脆利索的杀了目标,你管他杀人用的那一招究竟是华山派的什么剑法,还是嵩山派的什么剑法。达到目标就行了。而且你的剑法练到一定的程度,你可以自创剑法,这个世界绝没有你练熟了世界上的剑法,你就是绝顶高手的道理。至于你已经达到了高手的境界以后,一招一式无不合剑道之极致。,也就根本无所谓用什么招式了。

感觉自己在胡说八道,引人入歧途,不过这是灌水版,还好还好。

ozzzzzz 2003-12-24 19:32

robbin
               嘿嘿这次写对了。
               就是吗?这个地方其实是谈问题的最好地方,反正错就错了。谁也不认识谁。
               不过我不怎么同意你们关于GoF根本是为了重用代码的说法,这样说太看重代码重用的了。设计模式还是一种解决方案的总结而不是具有实施的总结,它的所处的层次应该是在代码层上,在framework层下。
               “你是否是否了GOF 设计模式23   种之一根本不重要,首先是目标明确”这句话绝对正确,但是问题在于目标明确是非常困难的事情。为什么说设计的本质是权衡,就在于你很难只确定一个目标,更难确定一个固定的目标。你要考虑的往往是在多种约束下的多种可能解决方案。我不认为有哪种解决方案是唯一正确的,这就是设计策略和风格的问题。作为初学者肯定会经过一个痴迷于设计模式并且看到所有的东西都是钉子的阶段,这不可怕。要是他们不经过这个阶段,也不会到达无招的阶段。
               而在初学者成熟前,我认为让他们先掌握几种解决方案,然后去努力的在现实中寻找使用这些方案的合适场景是不错的选择。
               所以不管他们两个中的哪一个都是为初学者作了很多有意贡献的人,是值得初学者学习的。
               而我想初学者不能因为他们之间有矛盾,就信奉一个排斥一个。

 

Anonymous 2003-12-25 12:49

设计模式我认为还是用出来的,就像Robbin说的那样,不需要去刻意的学习设计模式的多少种模式,只需要大体的了解一下每一种设计模式他之所以这样设计的好处,及大体的框架就ok了,那你每次进行设计或开发的过程中,或者在你遇到困惑的时候,就会不自觉地想到某种模式可以给自己带来方便和解决困惑,或者让别人能更好的看懂之类的好处。。。而且在开发和使用模式的过程中会慢慢的提高自己的这方面的水平。
             至于什么bang,阎博士,不关心。演博士没看过,bang的也是听别人说jdon采来的,对收费比较讨厌,难道就缺那点钱?就算缺,也不至于这样。

potian 2003-12-25 21:54

虽然我上次和Dlee在那个贴子里面聊的时候说起过设计模式是基本知识,但从另一方面讲,设计模式的重要性其实怎么说都是不为过的。
             首先,早期设计模式提出的时候是为了消除软件出版界和研究界的一些偏差:以前一些文章和研究都只是注重新技术,所谓的创新性。但其实在软件行业,新的技术层出不群,但很多基本的问题、很多现有技术足够可以解决的项目却没有很好的完成,设计模式的提出者包括Kent   Beck,GOF和JimCoplien认为这是因为好的经验没有被足够的传播。所以在当时设计模式有点反叛主潮流的意思,但是这种反却反出了大名堂。《设计模式》被推崇为软件行业有是以来最重要的著作之一,我想最重要的原因就是认识到旧技术的良好运用在绝大多数时候比新技术更重要。设计模式的提出不但声明了这种经验的重要性,而且把它推上了大雅之堂。查一查IEEE论文,现在大学里面研究设计模式的人大有其在。
             第二个重要贡献当然是软件设计行话的标准化。之前的很多行话或过于细节、或过于粗略,完全达不到精确表达和有效应用的程度。但设计模式把这些场景和解决方案固定化、细致化,这是非常重要的。我喜欢把设计模式看作李商隐的诗歌,虽然不能突破李白、杜甫的创新,但是却是整个有唐以来诗歌技巧的总结,是凝练了前人经验之上的升华。另一方面,这些概念的标准化把解决问题的起点从对象和方法提高到参与者结构关系和相互作用,毫无疑问可以把所有开发、设计、分析的水平提高到另外一个层次,我想每个人在初学设计模式的时候都会有这个体会。(立体几何的课后习题都有点小定理的意思,我记得以前学立体几何问题的时候,总是把课本后面的习题前提和结论都记牢,每次解题的时候我很少从正文的基本公式和定理开始推导、计算,而是针对问题的总前提,套用组合几个习题的答案。这样不但快的多,而且有时候不这样做比较难的竞赛体根本就解不出来)。
             另外我认为这些基本模式务必精通,其中意图是最最重要的,解决方案则应该掌握好权衡,熟悉应用每一个模式的结果。在此基础上,设计模式就可以大大提高软件人员之间交流的信息量,很多复杂的问题可以通过简单的词汇进行讨论,因为大家都知道这一个简单的单词意味着什么、其中的细节是如何的、这样解决以后问题又会变成什么样子(好像有点心有灵犀一点通的意思)。我感觉,信息交流的频度和容量也是长久以来美国人软件超过中国人(或其他国家)的终极因素。
             现在设计模式的作用则进一步体现在对编程方法和编程范式引导的作用。由于设计模式基本上展现了利用OO问题解决的最佳方案,所以它必然最充分地暴露出OO的缺陷。我仔细阅读过Visitor模式的论文大约有100多篇,很多人用反射、Meta、Closure、函数型编程等等试图解决Visitor模式的一些缺陷,都非常有见地。每一种新的编程范式,如AOP或旧的编程范式如functional,Smalltalk来演示自己的威力时都不约而同选择了设计模式绝不是偶然的。设计模式的典型性和示范作用无疑为新的语言和编程思想的发展奠定了良好的基础。

ozzzzzz 2003-12-25 23:08

kent这个人据说人格魅力相当厉害,脑子也聪明(嘿嘿,我喜欢看他们的照片,比我秃的厉害,和他们比较起来我是个多发者)。
             而实践模式据说也是他首先学习了《建筑永恒之道》而提出的。这个人就喜欢玩新瓶装旧酒的把戏,搞个XP也是把一些老掉牙的东西从新组合了一下。
             有人说工程师是最保守的一群,因为他们只相信那些已经多次证明是有效的东西。
             设计模式从根本上说只是一种发现而不是发明,这和后来XP中提出的让设计从代码中逐渐浮现出来是一个路子。
             但是有效规有效,还是有没有覆盖和效果刚好相反的地方。而这些地方往往又是显示面向对象设计水平的地方。所以对于设计模式掌握的过程,是一个由不懂到懂,由懂到用,由用到喜欢用,由喜欢用到害怕用的过程。
             但是我不认为什么人可以一下子达到最高峰,所以还是一步一步的来比较好。


工业互联网工控安全与工业质检AI大模型建设方案.pptx 立即下载

相关推荐

HDLbits练习11 - Counter 1-12 ( Exam/ece241 2014 q7a )

(如这题用于当复位信号为高或者计数器递增至12时,该信号置1使计数器的输入信号 ’ d ’ 变为 ’ 4’b0001 ’ ,再加载到 ’ Q ’ 中。当 ’ load ’ 信号为高时,在时钟的上升沿,计数器会将 ’ d ’ 输入的值加载到 ’ Q ’ (计数器的输出)中,而不是递增当前值。用途:在时钟上升沿触发的情况下,如果 ’ enable ’ 信号为高,计数器的值会递增,如果 ’ load ’ 信号为高,计数器将加载 ’ d ’ 信号的值。作用: ’ Q ’ 是计数器的当前值,也是模块的主要输出。

weixin_62830176的博客 472

服务间的负载均衡-Robbin

服务间的负载均衡robbin

yc_Cabbage的博客 554

Arduino+esp8266+blinker物联网开发

文章目录blinker点灯一.简介二.开发环境的搭建1.arduino的安装2.添加esp8266开发板3. blinker库的导入4.驱动的安装4.手机端安装app三.开发第一个点灯程序1.添加设备2.载入示例3.代码部分4.代码讲解5.程序烧写四.总结 blinker点灯 一.简介 为了加深为物联网知识的认识,今天就教大家如何用手机app来控制我们的开发板。我们的开发环境是以arduino I...

weixin_45631738的博客 3万+

Robbin负载均衡详解及实践---SpringCloud组件(三)

引入 spring-cloud-starter-openfeign 后,使用 Ribbon 是客户端负载均衡器 则无需引入额外依赖,因为引入的 spring-cloud-starter-openfeign 依赖中集成了 Ribbon。案例中,我们启动了一个feign-provider-modules,然后通过feign-consumer-8080调用feign接口来访问。进程内LB:将LB集成到消费方,消费方从服务注册中心获知哪些地址可用,然后自己再从可用地址中选择一个合适的服务器。

weixin_43811057的博客 1093

华为OD机试 双机位A卷 - 流量波峰 (C++ & Python & JAVA & JS & GO)

华为OD机试双机位A卷 流量波峰,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1377

fatal: unable to access ‘https://github.com/Stability-AI/stablediffusion.git/‘解决方案

本文主要介绍在安装 stable-diffusion-webui 时出现的 fatal: unable to access 'https://github.com/Stability-AI/stablediffusion.git/': Failed to connect to github.com port 443 after 21071 ms: Couldn't connect to server 问题的解决方案,希望能对你有所帮助。

水滴的博客 5684

负载均衡实现方案(nginx与robbin)

负载均衡实现方案 压测工具jmeter ​ Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。使用jmeter主要是为了下文对ribbon和nginx各自最小连接数均衡策略的测试,最小连接数策略再低并发情况下,看不出分流效果 基于Ribbon的微服务调用负载均衡 Ribbon前言 ​ Sprin

weixin_42784244的博客 1082

风电功率预测项目技术白皮书:短期、超短期、中长期全尺度算法详解与工程落地

聚焦风电功率预测的时间尺度与算法:短期(0~72h)以XGBoost/LightGBM/CatBoost及深度学习为主,超短期(0~4h)采用ARMA+LSTM,中长期用LightGBM等,并涵盖概率预测、多气象源融合、AI大模型+物理模型混合策略、极端天气应对及工程运维要点。

算法工程师 322

《Java与模式》学习笔记:设计模式——原则

最近借了本阎博士的 Java与模式 开始学习设计模式。本人在设计模式方式纯属菜鸟,所以如果对某些模式的理解有偏差,还请大家及时指正。另外,本系列(《Java与模式》学习笔记)文章中许多语句都是来自原书,由于太多,基本没有注明出处,如果阎博士认为有侵权行为,也别来找我,我只是小角色。^_^这些软件设计的基本原则是一种高度地抽象,如果说设计模式是软件设计中经验教训的总结,那么这些基本原则就是对设计

shanchao的专栏 859

4、机器人建模、规划与控制及运动学知识解析

本博客深入解析了机器人建模、规划与控制的核心内容,涵盖运动学与动力学的基本原理,并结合典型应用场景探讨了移动机器人与操作器的控制策略。同时,博客还介绍了机器人技术的发展趋势及其在工业和服务领域的广泛应用。

desk3的博客 122

在SAP系统中创建物料 860000000000000082(物料描述为“8680月球广寒宫坦克车”)时,系统报出了一个错误

摘要:SAP系统创建物料"8680月球广寒宫坦克车"时出现"C+020"错误,提示评估区域C916未在物料分类账中设置为生产性。解决方案需进入"会计-控制-产品成本控制-实际成本核算"路径,将评估区域C916手动设置为生产性状态。该操作需由具备权限的系统管理员或FICO顾问执行,建议操作前进行数据备份或在测试环境验证。完成设置后即可重新创建物料。

金牌架构师 391

Robbin负载均衡

在之前的案例中,我们启动了一个user-service,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。 但是实际环境中,我们往往会开启很多个user-service的集群。此时我们获取的服务列表中就会有多个,到底该访问哪一个呢? 一般这种情况下我们就需要编写负载均衡算法,在多个实例列表中进行选择。 不过Eureka中已经帮我们集成了负载均衡组件:Ribb...

dwhhome的博客 6292

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

如何学习Hibernate(written by robbin)

Hibernate入门容易,掌握精通我也不敢自夸。我第一遍看Hibernate文档的时候也觉得很吃力,但不是因为Hibernate难掌握而感到吃力,是因为Hibernate文档处处都是持久层设计的经验和最佳实践。Hibernate文档准确的来说,绝大部分内容都在讲对象的持久层设计,而不是简单的Hibernate使用,使用问题查Java doc就够了。所以学习Hibernate,主要是在学习持久层的...

DCTM + SAP 71

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java学习从入门到精通(转robbin )--收藏篇

Java Learning Path (一)、工具篇 一、 JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的J...

jxpt的专栏 205

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java学习从入门到精通的学习方法

JavaLearningPath(一)、工具篇 一、JDK(JavaDevelopmentKit) JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了S...

hu_shengyang的专栏 153

C++ 软件架构(一)

现代 C++允许您在高级语言中编写高性能应用程序,而不会牺牲可读性和可维护性。不过,软件架构不仅仅是语言。我们将向您展示如何设计和构建健壮且可扩展且性能良好的应用程序。本书包括基本概念的逐步解释、实际示例和自我评估问题,您将首先了解架构的重要性,看看一个实际应用程序的案例研究。您将学习如何在单个应用程序级别使用已建立的设计模式,探索如何使您的应用程序健壮、安全、高性能和可维护。然后,您将构建连接多个单个应用程序的更高级别服务,使用诸如面向服务的架构、微服务、容器和无服务器技术等模式。

龙哥盟 214

robbin四大模型

模型包括: 1,失血模型 2,贫血模型 3,充血模型 4,胀血模型 一、失血模型: 失血模型简单来说,就是domain object只有属性的getter/setter方法的纯数据类,所有的业务逻辑完全由business object来完成(又称TransactionScript),这种模型下的domain object被Martin Fowler称之为“贫

JackRen_Developer的博客 682

SpringCloud--05、负载均衡Robbin

1、Robbin概述 Robbin是 Netflixfa 发布的一个负载均衡器、SpringCloud 中,Eureka一般配合Ribbon进行使用,Ribbon提供了客户端负载均衡的功能 负载均衡策略: (1) 简单轮询负载均衡 (2) 加权响应时间负载均衡 (3) 区域感知轮询负载均衡 (4) 随机负载均衡 2、实例演示 首先我们启动三个user-service实例,一个...

一叶知秋 3183

负载均衡之Ribbon

在上一篇Eureka的高级只用的案例中,我们启动了一个user-service,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。 但是实际环境中,我们往往会开启很多个user-service的集群。此时我们获取的服务列表中就会有多个,到底该访问哪一个呢? 一般这种情况下我们就需要编写负载均衡算法,在多个实例列表中进行选择。 不过SpringCloud中已经帮我们...

YUER_ZYQ的博客 433

【笔记】负载均衡Robbin之不同服务使用不同的策略

裂开裂开,搞这么久忘记导入依赖 妈卖批 又不报错 还能让我玩 我以为全部导入了。 话不多说,开始演示。 介绍 给不同的服务 配置 不同的 负载均衡策略 这里使用 用户模块 进行访问其它两个模块的controller数据 但是 在访问时 要配置各自的 负载均衡策略 也就是访问服务时 进入到 各自的 负载均衡策略 配置类里面找到相对应的 IRule 一、创建项目 自己玩。。。。 二、导入依...

杨不易呀 655

Ribbon策略模式源码品读

文章目录RandomRule源码解析RoundRobinRule源码解析RetryRule源码解析BestAvailableRule源码解析WeightedResponseTimeRule源码解析AvailabilityFilteringRule源码解析 RandomRule源码解析 首先进入RandomRule类中的public Server choose(ILoadBalancer lb, Object key)方法中,这个方法就是这策略的核心方法了 public Server choose(ILoad

BUG 304

SpringCloud-Ribbon工作原理分析

由于历史原因,原有业务系统的大部分接口都是通过SpringBoot RESTFul暴露服务的且能过Nginx做网关。微服务架构近几年也非常的火,各个公司开始将业务服务 在使用Ribbon进行服务消费的时候,我们用到了RestTemplate,但是熟悉Spring的人是否产生过这样的疑问:RestTemplate不是Spring自己就有的吗?跟Ribbon的客户端负载均衡又有什么关系呢?带着...

u012005912的专栏 1万+

robbin

今天看了csdn的<<程序员>>   发现了很多有价值的文章  尤其是关于开源软件 和 软件测试的文章  很有意思 给予tdd的extreme programming 还有robbin的关于web frame  及 ror的文章  准备好好学习一下  估计在我大学期间想全部学习是不大可能了  熟悉一下框架  毕竟java基础类库还算熟悉   框架这东西以后用在学就可以了...

xuchunming 270
上一篇: 如何向妻子解释设计模式
下一篇: 黑客与画家
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值