我正在寻求有关设计模式的帮助。我非常习惯java中的接口,我不知道如何在ruby中获得类似的机制。它需要的是一种具有方法的接口,例如联系人。为了获得联系人,我需要对 api 进行调用,这可能是 google、linkedid 或任何网络服务。所以我想使用一个接口,它为我提供了联系人方法,我不想知道任何关于提供者的信息。
我的第一次尝试看起来像这样(伪代码):
Module AbstractContact
def contacts
#do some stuff with @data
@data
end
end
class Impl
include AbstractContact
def build_provider(provider)
if provider == :google
#get the data from google
gdata= api_call
@data = gdata
elsif provider == :linkedin
end
end
end
c=Impl.new
c.build_provider
c.contacts
但我真的不确定,这是否是“红宝石之路”。
欢迎帮助,建议和建议。最好的,菲尔