Unix哲学的智慧:构建高效系统的秘诀
1. 小部件组合的大力量
在木工行业,羊角锤一直是不可或缺的工具,它集钉钉子和拔钉子两种功能于一身。然而,随着科技发展,钉枪在钉钉子方面已远超羊角锤,效率更高且更精准。但羊角锤的拔钉功能仍难以被替代。
软件领域也有类似情况。很多集成应用程序就像传统的羊角锤,是大型的单体程序,虽能完成任务,但包含了大量普通用户可能永远不会理解和使用的功能,给用户和系统带来负担。
而Unix构建集成应用的方式是使用小部件组合。以应用程序A和B为例,它们功能相同,但应用程序B是大型单体程序,应用程序A由多个小程序组成,每个小程序提供应用程序B的部分功能。
- 功能选择灵活性 :当只需要部分功能时,应用程序A优势明显。比如只需功能一和二,用应用程序A只需将这两部分组合;若要功能二、三、五,创建具有功能五的模块并舍弃功能一和四即可。而应用程序B则需开发者进行复杂修改。
- 开发与测试效率 :应用程序A可使用管道,避免功能改变时重新链接整个应用,加快开发和测试速度。开发者可处理更易管理的小部件。
- 并行开发优势 :应用程序A便于多个开发者并行工作。开发者会注重模块间接口正确性,减少“ spaghetti code”。
- 用户交互适应性 :应用程序A可包含独立用户界面模块,通过更换该模块适应不同用户。X Window System就是实例。
2. 追求90%解决方案
联邦快递等隔夜快递服务出现时,因其高效而令人惊叹,改变了商业运作方式
超级会员免费看
订阅专栏 解锁全文
1

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



