2011-10-23 30 views
2

我想重构我的代码以重新使用现有的代码,但想要如何以最好的方式使用REST资源完成这项工作(在这种情况下泽西岛)。泽西从另一个资源调用一个资源来重新使用代码

我有一个处理域的资源。此资源中的此类方法包括获取域,获取多个域以及发布批量获取(太多以至于无法使用GET)。

但是,我也有一个资源对URL进行同样的处理。除了我在这里做的是从URL中提取域,并有效地执行与DomainResource类相同的逻辑,就像我从URL获得域一样,我需要执行完全相同的查找。然而,我不重复使用现有的DomainResource方法,而是在我的URLResouce类中复制并调用相同的方法。

因此,如果在这种情况下进行重复并保持资源分离,或者从另一个资源调用一个资源(坏/好预备)可能会更好,那么URLResouce会委托给DomainResource?这听起来怎么样?

回答

0

通用代码应该在实用程序类中。您的每个资源(我认为您使用的是@GET注释的方法)通常不会互相调用。我会在工具类中使用fetchDomains方法。然后,用于获取域的控制器/服务/资源方法将直接调用该实用程序方法,并且从URL获取域的控制器/服务/资源方法将首先提取域,然后调用实用程序方法。

0
So is it better to have duplication in this case 

不,无论如何因为重复减少了你的oops概念。所以请尽量将通用代码保存在单独的类中。

相关问题