对,这样的风格很好。还有强转指针,模拟downcast的。让人可以想明白原来继承是要解决这样的问题。
语言的机制有没有是一回事,编程背后的想法(概念、逻辑、思想、哲学)是另外一回事。脑子清楚的人,写得代码不会太差。
这个重构就是做了这样的事,很小的事。但转帖的描述,“a series of order” Vs 数据结构,让我觉得道不孤,高兴之余,说两句。
另外我发现,用a series of order 的思路,来思考多线程的模型,或者co-routine,是非常好的。一个线程就是一组有序的指令,这些指令重排列,加减一点新指令,就是另一个线程。切换线程就是切换序列,线程context就是对序列的执行位置、状态的记录,对象的析构函数也是一组指令,append到序列A还是序列B,都可以(不得访问原构造序列的局部数据)。 用面向对象的思路来思考co-routine,就很阻碍。
【 在 lvsoft 的大作中提到: 】
: 这....
: 基本上所有linux下c代码都是这个风格...
: 举个例子:
: ...................
--
FROM 1.86.15.*