- 论坛徽章:
- 0
|
本帖最后由 MJK2012 于 2012-03-22 09:53 编辑
关于软件的架构, 要分析给别人听时, 思考的深度顺序可以是, (个人想法, 仅供参考)
第一层 : 这个架构能做到什么东西
第二层 : 怎样灵活地使用这个架构
第三层 : 为什么要做出这个架构, 解决了什么问题? 没有它会怎么样?
第四层 : 为了解决某个问题, 为什么要设计成这样, 而不是设计成那样 ?
--
一段代码能活下来, 其实背后都不知道是抛弃了多少份不够好的实现了.
如果一定要求一本分析内核的书有深度的话,
那么下次可以出一本 , <<以源代码作者的角度去分析Linux内核架构的取舍>>
当然写这种书是很难的, 除了源代码作者, 谁知道他在设计时一共列出了多少个方案, 然后最后选择其中之一的.
就好像内存分配算法, 垃圾回收算法那样, 有很多种, 一般是选择一个合适的, 或者是多种方案混合使用.
听说以前某些牛人在做GUI的时候, 意见有分歧, 于是一个牛人就自己去创建了另一种GUI, 这也是各人有各人想法的结果.
---
所以, 上面你们提到的, 关于Linux内核的演化, 其实有一点这种道理.
演化, 就是用新的实现去代替旧的实现 , 这其中是包含了很多原因的, 每一次大大小小的改动, 都有更深的意义藏在里面.
|
|