|
如何在软管上钻孔——中介物
现在需要在一根长胶管上钻出很多径向小直径的标准孔,因为胶管很软, 钻孔操作起来显得非常不容易。
有人建议用烧红的铁棍来烫出小孔。经过尝试,发现烫出的小孔很毛糙, 而且很容易破损,不能满足质量要求。
“有没有什么好的办法? ”经理问。
大家低头苦思,发现这是一个不容易解决的问题。
突然,萃智先生出现了。
“有一个很简单的办法,可以帮助我们完成这项加工。”他说。
于是,一个基于中介物原理的解决方案产生了:先给胶管里面充满水,然后进行冷冻,待水冻成冰态时,再进行钻孔加工。加工完成后,冰会融化成水很容易流出管道。
这个故事应用了中介物(mediator)原理,该原理体现在两个方面:
1.采用中介体传递或完成所需动作。
比如:木匠的冲钉器,用在榔头和钉子之间;机械传动中的憜轮;螺丝刀之类的工具。
2.把一个物体和另一个物体临时结合在一起(随后能比较容易地分开)。
比如:用托盘把热盘子端到餐桌上,弹琴的拨子。
日常生活中使用中介物的地方非常多,对于系统也是一样,在如下情况下时,可以利用中介物:A)直接执行某个动作有危险(有害作用),则可以利用不怕这种危险的中介物来执行:比如探险机器人,排雷机器人,服务员用托盘端菜,利用湿毛巾拿过热物等;B)直接执行动作不能达成或很难达成目标,需要利用另一个物体:比如利用竹竿晒衣服;用镊子夹取细小零件;计算机的远程过程调用中的中间通信对象,代理执行对象;利用拨子弹奏乐器等;C)系统部件之间的两两相互作用太多,需要利用一个中介物来,来降低交换成本:比如计算机的总线设计,社会生活中的集市等。计算软件设计模式中有一个专门的中介者模式,道理是一样;软件设计模式中的代理模式在这里也属于中介物原理,但软件的代理模式不属于当前这种情况,而是下面的情况。D)如果一个系统(物体,子系统)对另外一个系统(物体,子系统)的功能执行不是很了解,可以建立专门的系统(物体,子系统)来代理执行来减少系统(物体,子系统)对目标系统(物体,子系统)的依赖,降低系统的学习成本,同时可以增加系统的灵活性:这个在社会生产生活组织中非常普遍,代理报关公司,律师机构,代理注册公司等都是这种。前面讲得软件设计中的代理模式也属于这一类,通常中介物可以更专业,更低成本的与目标系统进行交互。E)系统之间或者系统部件之间的通信或者相互作用(交互)开始不确定,则可以利用中介物来进行交互,减少系统设计的复杂度这种设计例子非常多,其实前面的C可以视为这种情况的一种。软件中的消息队列,商场,集市,飞机场等。F)为了增加某种灵活性,而不使得系统的设计过于复杂,也可以使用中介原理,使用一个临时的物体,系统或者部件来结合完成这种功能:比如端菜的托盘,蓝牙耳机,吸管等。中介物原理和系统分割原理相结合,可以使得设计更为灵活方便,比如将螺丝起子的柄和刀头分离,增加一个套筒设计,这样不同大小的刀头可以共用一个柄和套筒,大大节省了材料。软件设计模式中的代理模式,工厂模式(一系列),中介模式等都可以看着是这种中介物原理的应用。软件设计模式中的绝大部分模式都是通过增加(引入)中介物来实现的,而这种设计理念,当然也可以用到工程领域中来。其实人--工具--自然(社会),工具就是标准的中介物。在方法论层面,领域间的差异其实非常小,相互借鉴和渗透非常自然,而不应局限于某个领域,特别是思维方式上。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-1 08:29
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社