我现在虽然不能够完全定义设备的范畴,但我可以感觉到它的存在。
在我们的日常并生活中,我们常常会听到打印设备,扫描设备等等,这些设备和我提到的设备具有类比性。
而在软件设计中(我们现在姑且在设计的范畴中讨论),我认为设备不是绝对存在的,而是相对于当前的设计而存在的。而这个断言的存在,将会彻底影响到我们对软件设计的视角。
那么什么是设备呢,我先斗胆在这里下一个定义:设备是我们的代码作用于的对象。这个定义基于这样的一个事实,我们的代码可以被一分为二,一部分是作用代码,而另一部分是被作用的代码。而设备就是对被作用代码的描述。
在这里,我又想起了经典的三段论。在这里面,人,会死,苏格拉底这些逻辑上不相干词就是设备。说到这里,我想到了我们设计程序的本质,就是得到输入A,然后经过一番逻辑上的演绎之后,得到输出B。而演绎的过程中,我们会用各种设备(不相干)词来进行各种推理。啊,是呀,复杂的软件设计这时又回归到了一个简单明了的状态,就像山涧的泉水一样清澈透明,也让我们的心变得平静了许多。
难道不是吗?回头看看自己走过的路吧。客户抱怨bug多,我们该怎么办?微软又出新框架了,我现在的都还没有消化完,又要学习新的,到底该不该花那本已少得可怜的时间去学?最近社区流行XX开源项目,它带来的项目机会较多,我要去学吗?现在的系统不好维护,有没有一个框架能够一下子就能解决所有的问题?项目成员写的代码不好,我又该用什么方法去说服他?我到底该以什么样的方式才能保证这个成员变量在以后的维护中能够被安全处理?
这些事情常常让我心浮气躁,不得安宁。“设备”的发现,让我感觉到,所有这一切都是可以解释和分析的。
回到:软件设计中的设备
更多内容,请参见我的Blog导读


被折叠的 条评论
为什么被折叠?



