“便利”功能

时间:2011-05-17 17:29:52

标签: language-agnostic organization

我图书馆的几个部分都带有“便利”功能。例如,容器类可能具有解析字符串信息的函数。这些功能并不一定需要(或想要),因此我想将它们放在单独的文件中,以便根据用户的需要将它们包含在内或遗漏中。

这应该如何构建?我应该将头文件中的所有“便利”内容放在单独的文件夹中吗?或者它可能属于一个完全独立的库......?

大型图书馆(如Boost)如何处理这类事情?或者他们只是完全避免它?

2 个答案:

答案 0 :(得分:1)

“应该”这个词往往会引起宗教反应,但我认为你最好不要考虑这个,就好像你是你图书馆的用户一样。

想要它的结构如何?一个api中的所有内容都可以找到它,或者分散在类路径中?

是否有任何真正的理由甚至考虑将(例如)容器类的“parseString”方法放在除容器类之外的其他地方?

答案 1 :(得分:0)

图书馆提供商将其库组织成逻辑部分是很常见的,但随后提供了一种方法来一次性包含整个库(在C / C ++中,单个头文件;在Ruby中,单个包含,& c )。这样可以实现良好的凝聚力,并允许图书馆用户根据需要包含他们需要的部分。