抽象的力量(一)

抽象可帮助人们更好的去分类知识,更容易去学习。我准备列出一些看似不相关的“抽象”。


从需求理解技术,是最容易的。 比如RSS这个概念,你怎么理解?因为信息时代,人们对感兴趣的信息有“订阅”的需求,这样可以节省到处点击的时间,这是最关键的,网上的那些解释我都不喜欢。类似的概念,在驱动程序中有“中断”和“查询”方式;在设计模式中有 发布者-订阅者模式。

 

由外及内,由表及里,是自然的和最佳的学习和理解方式。上面说的需求理解技术是最容易的,也是这个道理:需求是最外层的,技术为了需求而生,反过来理解显然就不自然了。为什么人在上学的时候不努力,而上班若干时间后会怀念或者后悔上学的时候没有努力呢?因为上学的时候不知道自己需要什么,将来干些什么,而“书到用时方恨少”,工作中有需求了,知识不够用,自然就出现了这样的情况。(这是中国式教育的最大失败。至少大学阶段,首先要做的是职业教育。) 再比如,为了更好的人机交互,出现了GUI;电视上播出过,MIT最新发明了“小砖块”;语音识别,手写输入等等。

 

概念是“魔法”。这几天弄GUI,不断重复以下概念:表面(Surface)、Widget、Alpha通道、Alpha混合、用户输入事件、窗口层次、透明、Framebuf、显存...

 

面向接口编程,而不是面向实现编程,为什么?接口是抽象的,好的接口就是好的抽象,是不易变化的。Unix为什么那么经典?Unix的各种接口是经典接口,对问题的分解和隔离是经典的,是优雅的。比如socket、比如管道、比如进程、比如终端、比如文件,等等等等,这是抽象的力量。抽象的东西是不变的,不要重复发明轮子。实现是容易变化的。接口的抽象能够把复杂的问题简化,进而“分而解决之(Divide and Conquer)”。因此,程序因对扩展开放,对修改关闭!

 

看见没有?抽象之间有因果关系,有类比,有层次,抽象的力量,很强大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值