UNIX思想③——组合原则

是什么

开发软件时要保证该软件能与其他软件组合使用。换句话说,就是将软件做成一个尽量简单的过滤器。

这里所说的过滤器是指接收某种数据流之后,经过加工输出另一种数据流的软件。输出的数据流最好是文本格式。

为什么

过滤器形式的软件能轻易地连接在一起。软件通过不同的组合方式,能够完成多样的任务。另外。文本流的接口相对简单,这使得软件能够处于信息隐藏的状态。

而无法与其他软件协作的软件通常发挥不出多少价值。即便可以使用特殊的进程间通信方式进行协作,软件也会相互暴露内部结构。

能作为零件使用的软件要具有独立性。具有独立性的软件在与其他软件进行协作时,几乎不必考虑协作方。最理想的情况是一款软件能在不影响协作方的情况下,轻松替换为与自身实现方法完全不同的软件。

怎么做

设计一个能在命令行使用的读写文本流的软件。和类似于串行通信协议的接口相比,文本流的简单接口更值得选择,因为这样能方便我们组合使用多个软件来完成不同的工作。

当然,在某些情况下,复杂的二进制数据格式是无法避免的。不过,这种情况并不常见。上述做法虽然会给扫描带来一定的负担,但与自由读写通用的文本流所带来的便利性相比,这点牺牲还是值得的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值