在不暴露帮助程序或导致代码重复的情况下分离实现

时间:2016-12-06 11:50:03

标签: c++ refactoring

我有一个.cxx文件,其中包含许多函数,这些函数会在一般情况下公开(toolkit.cxx,并显示相应的toolkit.h)。

其中一些函数的实现需要一个不会在其他任何地方使用的类(Fetcher)。

目前我有一个Fetcher.h,但其方法的所有实现都在toolkit.cxx

现在情况正在发生变化,需要两种类型的Fetcher - 子类SimpleFetcherFancyFetcher

这是太多的代码,无法将所有内容保存在toolkit.cxx中,因此我将其与3个额外的实现文件(fetcher.cxx分开,用于父级实现的功能,simple_fetcher.cxxfancy_fetcher.cxx为孩子们。)

我的麻烦是,我有许多帮助函数,这些函数在这些实现中以及toolkit.cxx函数中使用,我不想在这些源文件之外复制或公开。

目前,它们已在toolkit.cxx中的未命名命名空间中实现,但新.cxx实施文件无法显示。

在这种情况下,有哪些选项?

0 个答案:

没有答案