我正在尝试重构Java项目中的一些特定GUI代码,我们称其为项目A,方法是从项目中移除依赖项并将代码移动到现有的API中。我还有另一个项目,它需要基本相同的功能/接口,我想在另一个项目中重用这些功能。
我在GoF的“设计模式”一书中读到了门面设计模式,并认为它可能适用于这里。
在阅读外观模式之前,我尝试编写一个名为IMessagePasser的接口,它只是将任何特定于项目的代码替换为接口方法,作为由每个客户端实现的约定,例如使用ProjectAMessagePasser。这似乎处理了外观的一半,允许将GUI代码移动到API。
我认为下一步是对项目A做同样的事情,通过在ProjectAMessagePasser中添加更多方法来替换图形用户界面依赖项,以便基本上确定ProjectBMessagePasser和图形用户界面代码之间的必要通信。
我在大规模代码重构方面没有太多经验,但这一切看起来都合理吗?如果不先做所有的更改就很难判断,如果有更好的方法,我不想浪费大量的时间。
发布于 2012-01-14 03:17:03
为了使其更易于管理,您可能希望为应用程序的功能区域创建服务,并将重构重点放在那里。在此过程中,编写单元测试来验证功能。一旦拥有了服务中的功能,就可以围绕这些服务创建外观。
换句话说,与一次性重构整个应用程序相比,分而治之可能更容易。
https://stackoverflow.com/questions/8855921
复制相似问题