Tôi yêu cầu trợ giúp về mẫu thiết kế. Tôi rất quen với giao diện trong java, và tôi không biết làm thế nào để có được một cơ chế tương tự trong ruby. Điều cần là loại giao diện có phương pháp, ví dụ: địa chỉ liên hệ. Để có được địa chỉ liên lạc tôi cần phải thực hiện cuộc gọi chống lại api, điều này có thể là google, linkedid hoặc bất kỳ dịch vụ web nào. Vì vậy, tôi muốn sử dụng một giao diện cung cấp cho tôi phương pháp liên lạc và tôi không muốn biết bất cứ điều gì về nhà cung cấp ngoài.mẫu thiết kế interfacelike trong ruby
nỗ lực đầu tiên của tôi trông như thế này (pseudo code):
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
Nhưng tôi thực sự không chắc chắn, nếu đây là "ruby con đường để đi".
Trợ giúp, đề xuất và đề xuất được hoan nghênh. Tốt nhất, Phil
thể trùng lặp: http://stackoverflow.com/questions/ 4437291/what-là-java-interface-equivalent-in-ruby – BentOnCoding
sử dụng di sản và làm cho hàm tăng lỗi trong lớp cha. – oldergod