0

我有一个名为SimpleCommand的类。它是一个以非常简单的方式实现 ICommand 的单个文件类(因此得名)。

我发现我正在把它放在我的几个项目中。(我只是复制代码并将其添加到项目中。)

这些项目都在同一个解决方案和生成的 wpf 应用程序中。

我的问题是:除了稍微增加我的 DLL 的大小之外,复制这段代码有什么缺点?

(我正在尝试决定将其放入 nuget 包中是否值得。)

注意:我多年来没有更改此代码,我也不打算这样做。

4

2 回答 2

3

这里的问题不在于在不同的命名空间中有各种具有相同名称的类。

问题是您正在复制代码,这真是个坏主意。

如果您想将您的 SimpleCommand 扩展为 ABitMoreComplexCommand,您最终会将其全部复制。

如果您需要按类型将一个命令与另一个命令进行比较,您无法可靠地做到这一点 - 您可能实施的启发式方法可能会给您带来误报

底线:创建另一个项目,将所有可重用的代码放在那里,不要复制它

于 2013-02-01T19:08:45.453 回答
2

复制和粘贴是重用代码最低效的方式,IMO。如果你决定向这个类添加一个简单的 bool 属性会发生什么?您将不得不复制和粘贴它的次数。

我建议将这些可重用部分组合在一个 DLL 中,并从多个项目中引用它们。

于 2013-02-01T19:08:09.290 回答