我在寻求设计模式的帮助。 我很习惯Java中的接口,我不知道如何在Ruby中获得类似的机制。它需要的是一种界面,它有一种方法,例如联系人。为了获得联系人,我需要对api进行调用,这可能是谷歌,linkedid或任何web服务。 所以我想使用一个接口,它提供了我的联系方式,我不想知道任何有关供应商超越。红宝石界面式设计图案
我第一次尝试是这样的(伪代码):
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
但我真的不知道,如果这是“红宝石的路要走”。
欢迎提出帮助,建议和指导。 Best, Phil
可能重复:http://stackoverflow.com/questions/ 4437291/what-is-java-interface-equivalent-in-ruby – BentOnCoding
使用heritance并使该函数在父类中引发错误。 – oldergod