我需要将具有两个数据模型的项目重构为两个单独的项目。 两个项目都使用相同的例外。 我应该仅为这些例外创建第三个项目吗?克隆听起来像是不行。
答案 0 :(得分:7)
是的,你应该在一个单独的项目上创建它,并将其用作对其他项目的依赖。看到一个项目/ jar只有你使用的模块中使用的例外情况并不罕见。这是保持组织的好方法恕我直言。
答案 1 :(得分:1)
恕我直言,正如@harsha在现有评论中提到的,最简单的解决方案是将共享代码放入库或.jar文件,将.jar文件放入项目库。
现在您拥有一个有价值的api,可以使用您的版本轻松维护每个版本。
答案 2 :(得分:1)
另一个项目是另外两个项目的共享依赖项,可能是最好的。如果两个数据模型一起使用,那么复制对象会使事情变得困难,您必须通过例如两个数据模型来解决这些问题。不同的包名称,这会产生维护问题。除了您的例外之外,共享项目可能是未来共享代码的良好存储库。
答案 3 :(得分:1)
是否只有例外情况?这听起来很奇怪。
这些项目之间是否存在依赖关系?一个人是其他人的客户吗?
我相信也会有一些共同的接口,有些接口会在方法的签名中声明这些异常。一些在你的一个项目中实现,并在其他项目中调用。
如果根本没有这样的东西,看起来你的常见例外只是他们的名字的共同点!它们实际上不是同一个类,它们只是具有相同的名称,并且因为许多用户定义的异常只是具有调用super
构造函数的构造函数,所以它们似乎是相同的。
如果那是你的情况,我不会费心去提取类,我会保留重复,因为重构没有任何好处。