从乐高上我们可以学到什么?


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

简单

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


重复

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


扩展

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



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



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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值