Ho una classe APIClient
(solo un nome di esempio) che ha i metodi
def get(url, params={})
@last_response = conn.get(url, params)
end
def post(url, params={})
@last_response = conn.post(url, params)
end
def put(url, params={})
@last_response = conn.put(url, params)
end
def delete(url, params={})
@last_response = conn.delete(url, params)
end
Questi metodi possono essere utilizzati per fare qualsiasi cosa sull'API, ma in seguito ho aggiunto altri metodi che implementano attività più specifiche che desidero fare nella mia applicazione.
Alcuni di questi nuovi metodi sono
add_category(name)
list_products
find_category_id(name)
Questi metodi forniscono un'interfaccia di livello molto superiore rispetto ai metodi get, post, put ed delete.
In vari punti ho visto il commento che le istruzioni in funzioni / metodi dovrebbero essere tutte allo stesso livello di astrazione ma non ho visto lo stesso detto per i metodi in una classe.
Mi sbaglio nel mettere questi metodi di alto livello nella stessa classe dei metodi di basso livello? A causa di ciò, si verificheranno dei problemi e c'è un modo migliore per farlo?