Ecco il problema che sto cercando di risolvere:
C'è un'API piuttosto grande Sto cercando di scrivere una classe wrapper in giro. L'approccio più semplice sarebbe quello di rendere una classe con un metodo che rappresenta ogni possibile chiamata API. Questo diventa poco maneggevole anche se l'API è molto grande.
Il mio primo pensiero è quello di suddividere ogni sezione API in una classe separata. Se questa fosse l'API di Github potrei avere una classe per l'API dell'utente e una classe per l'API di repository ecc. Comunque voglio che l'interfaccia finale sia accessibile da un namespace come questo (questo è in Python):
from my_api import APIClient
api = APIClient(api_token)
api.users_api_call()
api.repositories_api_call()
Come dovrei ottenere questo? All'inizio l'ereditarietà multipla sembrava una buona opzione, ma non sono sicuro di come accedere a cose come un token API e altre proprietà / funzioni generali nelle classi specializzate, inoltre la saggezza convenzionale suggerisce che l'MI sia una scelta di design scadente. Quali sono alcuni approcci da considerare qui?