是什么
开发软件时要保证该软件能与其他软件组合使用。换句话说,就是将软件做成一个尽量简单的过滤器。
这里所说的过滤器是指接收某种数据流之后,经过加工输出另一种数据流的软件。输出的数据流最好是文本格式。
为什么
过滤器形式的软件能轻易地连接在一起。软件通过不同的组合方式,能够完成多样的任务。另外。文本流的接口相对简单,这使得软件能够处于信息隐藏的状态。
而无法与其他软件协作的软件通常发挥不出多少价值。即便可以使用特殊的进程间通信方式进行协作,软件也会相互暴露内部结构。
能作为零件使用的软件要具有独立性。具有独立性的软件在与其他软件进行协作时,几乎不必考虑协作方。最理想的情况是一款软件能在不影响协作方的情况下,轻松替换为与自身实现方法完全不同的软件。
怎么做
设计一个能在命令行使用的读写文本流的软件。和类似于串行通信协议的接口相比,文本流的简单接口更值得选择,因为这样能方便我们组合使用多个软件来完成不同的工作。
当然,在某些情况下,复杂的二进制数据格式是无法避免的。不过,这种情况并不常见。上述做法虽然会给扫描带来一定的负担,但与自由读写通用的文本流所带来的便利性相比,这点牺牲还是值得的。