这是一个代码设计问题。
我有一组方法可以进行API调用来获取应用程序用来执行它的任务的数据。这些方法需要相同的2-3个可变输入来获取所需的数据。我想将这些方法包装到类或模块中,但我不确定要使用什么。使用类对我来说很奇怪,因为我只是使用这些方法来使用API读取数据。
有什么建议吗?添加以下示例方法以供参考。我应该只使用这些方法的模块,还是将它们包装在一个类中。如果我使用类I,则可能不必为每个方法传递类似的参数。
module Client
module Features
def get_feature_set(client, version, locale)
//code
end
def get_feature_detail(feature_id, client, version, locale)
//code
end
def get_locales(client)
//code
end
end
end
答案 0 :(得分:1)
似乎每种方法都需要client
。因此,我会考虑使用此client
初始化一个类。也许有这样的界面:
而不是Client::Feature.get_locales(client)
:
Client.new(client).locales
而不是Client::Feature.get_feature_set(client, version, locale)
:
Client.new(client).feature_set(locale, version)
而不是Client::Feature.get_feature_detail(feature_id, client, version, locale)
:
Client.new(client).feature_detail(feature_id, locale, version)
# or
Client.new(client).feature_set(locale, version).details(feature_id)
答案 1 :(得分:0)
您可以使用常用方法为公共代码定义模块。 并致电"包括"从您的类中包含特定类中的常用方法。 (混入)