boost的iostreams組件基本上詮釋了stream的概念,但是考慮東西似乎太多了,不管怎么樣都得好好學(xué)學(xué)他的思想。此番重新學(xué)習(xí)一下。
模板的世界比較累,先從OOP的視角看看:

咋看一下似乎也沒(méi)多少東西,是庫(kù)的作者拿了一堆基礎(chǔ)概念在那玩文字游戲好像。
抽象起來(lái)應(yīng)該是這樣幾個(gè)東東:IIOStream IIStream IOStream IInSeek IOutSeek IIOSeek IStreamInFilter IStreamOutFilter IStreamIOFilter

看起來(lái)確實(shí)有點(diǎn)惡心,理論和現(xiàn)實(shí)是有差距的,,,唉,,,
接下來(lái)讓他更惡心一點(diǎn),應(yīng)為還缺少一個(gè)Filterable的概念

很快出來(lái)一張蜘蛛網(wǎng),,,這也不能說(shuō)過(guò)度設(shè)計(jì)吧,也許有些系統(tǒng)需要這么細(xì)化呢?
不過(guò)看到這張蜘蛛網(wǎng)之后果斷決定我后面練手絕對(duì)不要這么負(fù)責(zé),可以考慮v神的做法,接口都是全的,但是功能不一定,使用的不支持的接口就弄個(gè)提示啥的。。。

這樣看上去是那么回事了,,,seek被提煉到stream里邊,filter添加sink的概念,或者直接用delegate更合適?