È questo il modo giusto di usare le classi su questo progetto?

1

Prima di votare o incolpare, tieni presente che questo è il mio primo progetto Python "serio". Prima di ciò ho solo programmato un programma che utilizza diverse API di Google per fare cose, e non molto di più oltre a numerosi test ed esercizi di codice, ma non ho ancora imparato molto nelle classi.

Ora sto codificando un'applicazione per il settore alberghiero che chiama un'API e recupera i dati in formato Json. In questo momento ho i set di dati controllati e sono stato in grado di recuperare informazioni utili e fare operazioni con esso. I dati restituiti sono i siti aziendali (il nome dei diversi hotel), i diversi reparti degli hotel generano entrate (il bar, il ristorante, le camere stesse, ecc.) e infine anche i dati vengono raggruppati in base al tipo di reddito (può essere cibo, bevande, servizi extra, ecc.)

Ma vedo un sacco di potenziale in questo progetto di diventare più grande e farlo fare molto di più di quelle operazioni iniziali di base. Per cercare di renderlo scalabile e di essere in grado di codificare più velocemente, ho pensato di utilizzare le classi per dividere le diverse categorie come oggetti in modo da poterle poi utilizzare liberamente sul codice e fare un sacco di diverse operazioni con esso .

Quindi ho pensato di suddividere questi elementi in classi e di creare una gerarchia:

class IncomeSources(object):

class BusynessSite(IncomeSources):
      def hotel1:

      def hotel2:

class TypeofIncome(IncomeSources,BusynessSite):
      def beverage:
      def food:
      def transportation:

Queste classi terrebbero metodi che contengono essenzialmente i tag per ciascuna fonte, in modo da estrarre i dati e operare con essi. Sarà un buon approccio? Approfitterò dell'eredità organizzando il codice in questo modo? È giusto? Grazie.

    
posta xavier 03.03.2016 - 17:37
fonte

1 risposta

0

Mi sembra che tu abbia descritto 4 concetti:

  • BusinessSite, che ha un nome e un elenco di dipartimenti
  • Dipartimento, che ha un nome e un dizionario di (TypeOfIncome, Income)
  • TypeOfIncome, che probabilmente è solo una stringa
  • Entrate, che è probabilmente solo un numero

Nessuno di questi concetti richiede ereditarietà, ma potrebbe avere senso creare classi per BusinessSite e Reparto. Ma il miglior design dipende anche dalle operazioni che vuoi eseguire sui dati.

    
risposta data 08.03.2016 - 21:32
fonte

Leggi altre domande sui tag