-
有的时候我在想,那些提出新想法的人是以什么为依据想出来的呢。一些科学家是发现原本就存在的规律,然后改变了世界;而另外一些是基于已有的规律创造出全新的东西改变了世界,比如图灵机。
我猜的:能够思考,能够解决一切问题的机器。由这个概念想出二进制的依据是什么?
会不会只是一种直觉:如果存在这种机器,那么这种机器就应该是我构思的这样。
同样的还有设计模式。最初制定设计模式原则的人可能只是觉得,类和类之间就应该减少依赖,同时要保证迭代的便利性,只是一种没有任何理论支撑的极其自我的想法。或者可能只是一种强迫症:如果类与类之间的依赖变得混乱,就会浑身难受睡不着觉。
我很喜欢设计模式里面的概念,甚至在学设计模式以前就对类与类的依赖,以及重复很敏感。
看到这样的代码,就会本能地想要把公共的那一部分提取出来,否则就会很难受。
提出设计模式规范的人,是不是也是基于这种强迫心理呢。
我们现在正在使用的一切理论,可能只是过去的天才从不同的视角看到的东西。并不是什么灵光乍现或者严密的理论推导,只是天才们想着:“在我看来,就应该是这样”
然后带着先入为主的观念,用理论武器证明得到的结果。
所以科学并不是纯理性的东西,有很强的个人主义色彩。当然,没有证明只有想当然就成了民科,而没有想当然只去吸收前人的理论就会被禁锢在过去。
想想还是挺搞的。描述路程和时间比值的概念叫速度,而描述速度变化的概念叫加速度,描述加速度变化的概念......
过去的天才看着世界万物,萌生出种种新的想法;我看着过去的天才,对他们的行动指指点点;或许又会有人看到我的指指点点,然后对我指指点点......
描述与被描述,观测与被观测......世间万物都逃脱不了这种无限套娃的关系呢。
是不是有点哲学的味道了。
我喜欢设计模式就是因为它研究的是关系。依赖与被依赖,观测与被观测,管理与被管理......这种关系让人着迷,而且我总觉得这种关系里面有我想要的答案。
90%的计算机问题都可以通过增加一个中间层来解决。无数次被证实的一句话,其实在现实中也是通用的。
还有下层组件不应该依赖于上层,在现实中也有体现。
在设计模式的视角下看世界,一切都太TM合理了,一切都是对的,没有任何可抱怨的。
不是我粉啊。控制反转确实省事。但唯一的弊端是,如果管理对象创建的那个类自己出了问题,整个系统都会跟着崩溃。在这个意义上,耦合度高的离谱。
嘛......无所谓就是了。