一 一群盲人被带到一头大象面前,让他们摸摸大象像什么。一个瞎子摸到了大象的腿,说大象像一棵树;另一个瞎子摸到了大象的耳朵,说大象像一个扇子;第三个摸着大象的身体,说它像一堵墙...
一 一群盲人被带到一头大象面前,让他们摸摸大象像什么。一个瞎子摸到了大象的腿,说大象像一棵树;另一个瞎子摸到了大象的耳朵,说大象像一个扇子;第三个摸着大象的身体,说它像一堵墙...
注:本文原名《OO NOT SUCKS, YOU DO》。 缘起 Erlang之父Joe Armstrong曾经写过一篇《Why OO Sucks》,被很多反OO的程序员——...
正交设计,是普遍的设计原则,与粒度无关,与编程范式无关,更与具体的实现语言无关。(虽然确实在不同的编程范式下,或使用不同的编程语言时,具体的解决方法或难易程度不同,这也正是为...
函数式编程与面向对象编程[5]:编程的本质 之剑 2016.5.6 01:26:31 编程的本质 读到两篇文章,写的不错, 综合摘录一下 复合是编程的本质 函数式程序员在洞察...
关键字struct是C++继承自C语言的一项遗产。作为更加贴切的词汇,class 被引入C++,用来表现类。这个决策造成的结果是:一种语言提供了两个关键字来表示完全一致的概念...
错误/异常处理,一直是程序员痛恨,却无法摆脱的梦魇。如果一个系统中仅包含happy path的实现,那么这个系统的代码规模会显著缩小,而逻辑清晰度则大大增加。 C++ 以及更...
Everything should be made as simple as possible, but not simpler.-- Albert Einstein 我们一...
一个出发点 当谈起软件设计的目的时,能够获得所有人认同的答案只有一个:功能实现。 因为这是一个软件存在的根本原因。 而在计算机软件发展的初期,这一点也正是所有人做软件设计的唯...
软件不软的一个主要原因,是其经常处于变化之中。所以,当策略分离不同的变化方向被提出后,一个随之而来的问题也就产生了:何时分离? 尽管一个软件已经满足了当前所有需求,作为富有经...