- 论坛徽章:
- 2
|
回复 19# starwing83
一个库可能可以划分为私有与公有部分。
呃,比如,假设就是一个STM的库。它"提供给用户的界面"就只有:
1. stm这一个库(或者文件、或者模块、或者包什么的)
2. 以及若干数据类型(Ref, ...)与函数(ref, dosync, alert, commute, ...)
但它内部也许是由其他一些库构成,比如atomic操作。下面这些都不是stm的用户界面的组成部分:
1. 内部使用了哪些库?
2. 它们的组织方式?
也许stm一开始没有这种"私有/公有"的划分,而是逐渐演变出。
也许一开始私有部分就只有util,然后将atomic从中单独拆分出。
也许一开始引用了一些成熟的库来提供某些功能,最终演化为独立的,没有外部依赖的库。
又或者相反,一开始只为某些功能提供了简陋的实现作为prototype, 最终使用成熟的库(可选地)替换这些简陋的实现。
但总之,用户界面是稳定的,就只有stm。
这种库的组织方式是否合理?
如果合理,lua又为这种组织方式提供了什么机制?能有那些方案支持这种组织方式?这些方案对一些"全局设置"会产生怎样的影响?
比如C里对-I, -L 的影响? 比如java里对class path的影响?比如elisp里对load-path的影响? |
|