替代使用存根来摆脱交叉引用

问题描述 投票:0回答:1

15年来,我创建了自己的“框架”,其中包含一些类和一些模块。

例如:

Strings (contains wrappers for string functions)
Conversions (contains wrappers for conversions)
IO (contains wrappers for IO operations)
Environment (contains Windows environment things9
Windows (deals with currently open windows on Windows)
OEM (contains OEM information for all of my apps)
License (contains things to license my software)
AlphaWindow (contains stuff to display an topmost alpha window)

我已经创建了它们,使它们尽可能独立地工作,以便我可以在需要时插入它们。

几乎没有交叉引用。

然而,在大约500个函数中,仍然有10个交叉引用,我无法摆脱。

因此,当我创建一个新项目时,我仍然被迫添加我的整个框架。

解决这个问题的一个非常难看的方法是使用存根。

例如,我的“Strings”类引用了10次“Conversions”。现在,如果一个项目实际上不需要“转换”但确实需要“字符串”,我有时会创建一个“转换”存根类,并为“字符串”所需的这10个函数添加存根,以便我的应用程序仍然可以编译。

这些存根有更好的替代品吗?

我在C ++方面并不是很有经验,但我猜C ++人经常遇到这个问题。

谢谢。

vb.net stub
1个回答
1
投票

我有类似的情况。我所做的是在一个DLL中包含所有类。如果我需要任何方法,我包含对DLL的引用,存在不需要的方法没有坏处。

我为每个类使用不同的命名空间(例如MyFramework.Strings,MyFramework.Conversions)。这样,我只能为我需要在给定类中使用的框架类添加Imports语句。

© www.soinside.com 2019 - 2024. All rights reserved.