• 架构思想来源于人们的生活


    首先带着大家体验一下生活。斗地主估计大家都玩过,每次开玩之前,都会统计一副牌的张数到底够不够,最快的步骤莫过于:分几份给大家;然后大家一起数;最后大家把数都报出来,有一个人来累加一下,算算总张数;接着就可以愉快的玩耍啦... ...

    然后带着大家感受一下经验掰玉米估计多数都干过,每当玉米成熟的季节,邻居老奶奶是最头疼啦,因为老奶奶膝下没有人,靠老奶奶一个人掰玉米确实有点难,每当这个时候,亲戚邻居都会帮老奶奶掰玉米,一会儿的功夫就帮老奶奶搞定啦... ... 

    人多力量就大,于是在村里就自发形成了:专业帮掰玉米团、专业帮种蒜团、专业帮收棉花团... ...

    铺垫了这么多,你肯定还不知道咱们今天要聊啥?其实要聊的是藏在这两个的故事背后,你们猜是什么?好了别卖关子啦,其实想分享一种技术思想 —— 分而治之。

    所谓“分而治之” 就是把一个复杂的算法问题,按一定的“分解”方法,分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现 —— 摘自百度百科。

    简单去理解,要解决一个大的复杂问题,采用分而治之的方法,可以分解为以下几步:

    1)把复杂的大问题分解成两个或多个更小的问题(掰玉米这件小事,按照人头划分);

    2)分别求的每个小问题的解答(每人负责掰一垅玉米);

    3)把各小问题的解答组合起来,即可得到原问题的解答(有专人负责玉米装车)。

    哪些地方用到了它?本次就不展开去说,感兴趣的可以追追往期的 MapReduce 相关文章。

    最后!架构思想源自于人们的工作经验!当你有问题真想不明白的时候,不妨贴近生活尝试感受一下,说不定就顿悟啦!

    好了,2 分钟让你不烧脑的分享,到这就结束啦,希望你们能够喜欢

  • 相关阅读:
    Log4net使用指南[转]
    SQL 数据库全库检索
    10款屏幕取色器/颜色拾取工具软件介绍及下载地址[转]
    字符串加密解密函数 (C#) (转)
    C# 读写文本文件乱码解决方案
    C# tips 设置文本框光标的位置[转]
    如何显示数据库中的试题和图形[转]
    [转帖]C#执行SQL脚本,读取XML文件
    使用AnimateWindow API函数实现动画窗体
    雨林木风 Ylmf Linux Y1.5(Ubuntu 9.10)正式发布[转]
  • 原文地址:https://www.cnblogs.com/socoool/p/12629745.html
Copyright © 2020-2023  润新知