2

我正在尝试通过从项目中删除依赖项并将代码移动到现有 API 来重构 Java 项目中的一些特定 GUI 代码,我们称之为项目 A。我有另一个项目需要基本相同的功能/界面,我想在另一个项目中重用这些功能。

我在 GoF 的设计模式一书中读到了外观设计模式,并认为它可能适用于此。

在阅读 Facade 模式之前,我尝试编写一个名为 IMessagePasser 的接口,它只是用接口方法替换任何项目特定的代码,作为每个客户端实现的合同,例如使用 ProjectAMessagePasser。这似乎处理了 Facade 的一半,允许将 GUI 代码移动到 API。

我想下一步是对项目 A 做同样的事情,通过在 ProjectAMessagePasser 中添加更多方法来替换 GUI 依赖项,以便基本上弄清楚 ProjectBMessagePasser 和 GUI 代码之间的必要通信。

我对大规模代码重组没有很多经验,但这一切看起来合理吗?如果不先进行所有更改就很难说清楚,如果有更好的方法可以做到这一点,我不想浪费大量时间以一种方式进行。

4

1 回答 1

2

为了使其更易于管理,您可能希望为应用程序的功能区域创建服务,并将重构的重点放在那里。边走边写,编写单元测试来验证功能。一旦你拥有了服务中的功能,你就可以围绕这些服务创建一个外观。

换句话说,与一次重构整个应用程序相比,分而治之可能更容易。

于 2012-01-13T19:17:02.717 回答