7

我需要将具有两个数据模型的项目重构为两个单独的项目。两个项目都使用相同的异常。我应该只为这些例外创建第三个项目吗?克隆听起来是不可能的。

4

4 回答 4

7

是的,您应该在单独的项目中创建它,并将其用作对其他项目的依赖项。看到只有在您使用的模块中使用的异常的项目/jar 并不少见。恕我直言,这是保持事情井井有条的好方法。

于 2013-04-23T15:53:31.373 回答
1

恕我直言,正如@harsha 在现有评论中提到的那样,最简单的解决方案是将共享代码放入 库或 .jar 文件 中,并将 .jar 文件放入您的项目库中。

现在您有了一个有价值的 api,可以使用您的版本轻松维护每个构建。

于 2013-04-23T15:57:06.353 回答
1

作为其他两个共享依赖项的单独项目可能是最好的。如果两个数据模型一起使用,复制对象会使事情变得困难,您必须通过例如不同的包名称来解决这个问题,这会造成维护上的麻烦。除了您的异常之外,共享项目可能是未来共享代码的良好存储库。

于 2013-04-23T16:03:46.147 回答
1

有没有共同点的例外?听起来很奇怪。

这些项目之间是否存在依赖关系?一个是别人的客户吗?

我相信也应该有一些共同的接口,其中一些在他们的方法签名中声明了这些异常。一些在您的一个项目中实现,并在其他项目中被调用。

如果根本没有这样的东西,那么您的常见例外似乎只是它们的名字相同!它们并不是真正相同的类,它们只是具有相同的名称,并且由于许多用户定义的异常只是具有调用super构造函数的构造函数,因此它们似乎是相同的。

如果这是你的情况,我不会费心提取类,我会保留重复项,因为重构没有任何收获。

于 2013-04-23T17:22:01.413 回答