Thought Bubbles - Stream

Stream is a metaphor in computer world, and it is also pervasive in our life. As for stream, I at first think of stream of water, which has two ends, one to flow in and one to flow out. Actually stream can be conceived as an abstract model, which is much like a pipe, that has one end for input and one end for output, but it is different from pipe because a stream can only have one end. In this perspective, anything that has flow direction can be abstracted as a stream. For example, a file can be read from or written to, thus a file can be viewed as a stream of bytes. A network interface can be conceived as a stream, for we can read data from it or write data to it. Even a string can be seen as a stream, for we can put chars or read chars from the string.

By abstracting an object as a stream, we have several advantages:

1) We have simplify the interface of the object that it exposes to the outside world, since a stream has very simple interfaces such as read, write, flush, geek.  Simple interface means fewer coupling and fewer dependance and fewer bugs. 

2) The model of stream is flexible. We can do some cache work in implementing a stream such as to improving the efficiency of the read/write operations. We can do some encoding or decoding work with a stream to fullfill some specific requirement. We can also concatenate several streams together, and one stream's output is the input of another stream, and each stream can do its specific job.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值