乐高有很多有趣的特性,可以归纳为如下的几个方面:

简单

一个矩形四个连接点,是乐高最基本的形状。没有很高的使用门槛,大小适中可以用手轻易组合。

重复

基本形状的不断重复,并没有减少多样性,相反的提供了无限的可能。

扩展

在任何地方买到的乐高都可以轻易扩展到你原来的设计中。

这三点特性跟程序模块化的思想是非常相似的

在把代码抽象为模块时,我们往往需要做一个决定,就是抽象的粒度多大才合适,我们通常是

按功能划分的,但是乐高给我们的启示是 ”design for hand“------为了用它的人而设计。抛

开开发模式、软件工程的条条框框,一个模块的抽象粒度大小对计算机执行有任何意义么?可

以说其影响是微乎其微的,那抽象的目的或者服务对象是谁?实际上就是软件开发者自己,所

以抽象的粒度应该以适合阅读为准,避免过长,避免为了技术而技术。

模块化目的是可复用,但是并不是抽象为模块就一定能复用,如果你的传参、返回太个性化,

复用性就会大大降低。乐高的基本形状是一个矩形加四个连接点,这四个连接点我们可以看作

是传参,同时也是返回值,是不是让人想起了 jquery的链式引用?一个对象的方法返回了对

象本身,方便下个方法可以继续调用。正是这种特性让乐高具备了类似自我繁殖的能力,从单

一的基本形状的自我重复创造出无限的可能性。

扩展性是我们一直所追求的,一个良好的框架无需反复的推到重建,只需要在框架的规范下进

行扩展开发,就能让原来的设计变得更好。但是现实是,我们通常都会听到相关部门传来消息:

平台不能支持这样的需求,在设计平台的时候就没考虑要做这个事情;这个需求没法做,我们

的架构决定了无法提供这样的数据……乐高是怎么样解决这个问题的?是不是只要4个连接点的

size一致就能够无限扩展?并不是这样简单的,可以想象如果一个木头做的乐高和一个用塑料

做的乐高,虽然有同样的外形尺寸,但是由于自身的热胀冷缩比不一致,这个结合是肯定不牢

固的。很多平台之所以在使用中发现难以扩展,就是因为他们只看到了接入层的一致,而忽略

了本身的底层技术是否一致。

从乐高上我们可以学到什么?相关推荐

  1. 乐高机器人编程主要学什么

    乐高机器人编程主要学什么?孩子的学习一直都是家长们非常关心和重视的一件事.很多的家长们在培养孩子的学习的时候,会给孩子选择一些能够提升孩子能力的课程的.就拿现在很多的家长想要孩子去学习少儿编程的课程来 ...

  2. 三年级学生计算机学情分析,三年级上学期学生学情分析

    010在线为您甄选多篇描写三年级上学期学生学情分析,三年级上学期学生学情分析精选,三年级上学期学生学情分析大全,有议论,叙事 ,想象等形式.文章字数有400字.600字.800字....缓存时间: 2 ...

  3. 渗透测试 已学课时 1 个_我14岁上创业课时学到的东西

    渗透测试 已学课时 1 个 by Pau Pavón 通过保罗·帕文(PauPavón) 我14岁上创业课时学到的东西 (What I learned when I took an entrepren ...

  4. 心得 | 《用得上的商学课》 004 边际成本 | 飞机起飞前的座位,只卖一块钱?...

    图片来源于<用得上的商学课>课程封面 004 边际成本(Marginal Cost,简称MC) 在前3节课程分别学习了机会成本.比较优势.沉没成本,本节课学习边际成本. 定义:       ...

  5. 在Foxmail上创建北京邮电大学的邮箱

    在Foxmail上创建北京邮电大学的邮箱 1. 点击右上角的图案 2. 在下拉列表里选择"账号管理" 3 4 5 注意: 接受服务器类型:选择***POP3***,在北邮人论坛上有 ...

  6. 假如有一天我们上不了学了

    假如有一天我们上不了学了对于我们学生来说,我们现在除了学习还有什么技能?假如有一天,我们没有学可上了,我们只学到了高中的一些知识,而且还是那种学的一般.那时候,我们渐渐的走入社会开始努力找工作赚钱,但 ...

  7. 联合国公布世界上最难学的十大语言

    发音优美的语言 在国际语言学界,日语,意大利语和西班牙语,是三个公认的发音优美的语言,其中,日语更是排在第一位.在语言学上,评价一种语言的发音是否 优美,有一个公认的标准,那就是辅音数量和元音数量的比 ...

  8. 《老路用得上的商学课36—40》互联网思维

    博文内容为<用得上的商学课>读书笔记. 第一节:用户思维 有一个企业家朋友做了一款针对广场舞大妈的跳舞专用鞋,这鞋子安全舒适便宜样子也挺好看,但就是卖不动.后来他听了别人的建议把鞋子改的特 ...

  9. 中专学的计算机大学可以报什么专业,初中孩子成绩不好,上中职学这五个专业,不愁就业又能考大学...

    原标题:初中孩子成绩不好,上中职学这五个专业,不愁就业又能考大学 搜索关注公众号"湖南教育信息网"了解更多教育资讯 望子成龙一直是天下父母的的心中所愿,但不得不承认,并不是每个孩子 ...

最新文章

  1. Java微信对账接口返回值解析
  2. 让PPT声音播放不再“哑口无言”
  3. python学习三:列表,元组
  4. 数据库php性别显示on,使用PHP连接MySQL时,提示信息为“Unknown database 'xxxx' in yyy.php on line 23”,其意思是...
  5. graphpad如何做x轴在上方的图_数据分析最有用的25个 Matplotlib图
  6. 在package-lock.json中指定node-mass版本+独立编译flink中的flink-runtime-web模块
  7. 写入接口c语言_PYNQ: 使用CFFI嵌入C语言
  8. 浪里个浪 FZU - 2261
  9. Matlab仿真PID控制(带M文件、simulink截图和参数分析)
  10. STS创建Spring Boot项目实战(Rest接口、数据库、用户认证、分布式Token JWT、Redis操作、日志和统一异常处理)
  11. dubbo-Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
  12. 【C#】RestSharp踩坑日记
  13. Lora sx1278+stm32(ADC录音)+SPPEX音频压缩 数字对讲机
  14. android 磁盘读写速度,手机微硬盘读取速度50MB/s eMMC技术浅析
  15. springboot+java农家乐系统-住宿-美食-活动vue
  16. 中国千家主要规划设计勘察单位
  17. 初学orCAD原理图
  18. ITK (1)窗宽窗位的意义与设置
  19. 如何将多个doc文档合并在一起
  20. std::tie详解

热门文章

  1. win10 VMware启动虚拟机 报错hyper-v or device/credential guard enabled (76918)
  2. linux中文方块复制,linux安装中文方块乱码现象
  3. Computer Vision: Algorithms and Application书籍章节介绍及其源码
  4. 关于http状态500-内部服务器的解决方案
  5. 大开眼界!“巨齿鲨”现身2018世界机器人大会?
  6. 诚意推荐几个腾讯、美团、阿里技术大佬的公号
  7. (附源码)springboot物流配货管理系统 毕业设计 250858
  8. oracle项目案例脚本
  9. OpenLayers官方示例详解六之线串箭头样式(LineString Arrows)
  10. 腾讯回应考生喊话马化腾;库克承认在使用 ChatGPT;OpenHarmony 4.0 Beta1 发布 | 极客头条