暗喻和软件 Metaphor and Software

暗喻是一种将陌生问题领域映射到熟悉领域的一种技巧。在三年的软件实践中,可以和大家一起分享的暗喻可以一一列举下。

* RS232和RS485
这是我经历过的一个串口通信项目,在此之前我只是接触过RS232,对于RS485则是很陌生。在学习一天后我想到了一个暗喻。
RS232 一个逻辑串口对应一个物理串口。一个工作人员负责的一个窗口
RS485 多个逻辑串口可以对应同一个物理串口,并通过地址区分。一个工作人员负责的多个个窗口

* 框架(Framework)和库(Library)
很多人容易混淆框架和库。
框架是帮成品,是建房子的钢架结构。
库是用于建造房子的砖头。

* 进程(Process)和线程(Thread)
线程是工人。代表了动作和顺序。
进程是工厂。代表了一个隔离的范围。
一个工厂至少有一名工人。多个工人可以使工厂提高产能,但同时也可能造成对某些资源的竞争。

* TestSuite、TestCase和TestMethod
TestSuite是箱子,TestCase是盒子,而TestMethod则是各种物品。箱子装盒子,盒子装物品,在实现隔离的同时也起到分类组织的作用。

* CS架构中的Client和Sever
Client是演讲QA环节中的提问者,负责提出问题并接收对问题的回答。
Server是演讲QA环节中的演讲者,要处理来自不同提问者的不同的问题,并给于适当的回答。甚至还要处理“被扔鞋”等突发情况。

 
一个问题域在若能够找到合适的暗喻,认识上的问题就算基本解决了。暗喻不仅帮助更好理解软件问题,更可以促进交流。

你可能感兴趣的:(软件工程,休闲,极限编程,Metaphor,暗喻)