Class vs Module - Quando le classi devono essere nel modulo?

0

Sto sviluppando un'applicazione che ha un sacco di opzioni come operazioni CRUD del database locale, file IO, chiamate API web, notifiche, impostazioni delle preferenze dell'utente, servizi, widget ecc.

All'inizio non sembrava un problema lavorare con le classi, raggiungendo ora il 50% di completamento dell'app, vedo 20+ classi nella mia app (tutto il codice documentato / formattato). Tendo a creare corsi dove necessario, usando la mia conoscenza OO in tutta la mia estensione. Creo classi in cui ho bisogno di un modello, di una classe helper o di una classe di utilità ecc. Ho visto qualcuno parlare della creazione di moduli nell'app per Android, dove la funzionalità è divisa e altri moduli sono consumati in app modulo rendendo il codice più gestibile e leggibile.

La mia domanda è: su quali fatti o basi dovrei considerare di passare ai moduli invece di continuare a creare classi?

Una risposta sarebbe "dove la funzionalità differisce", ma sì è ovvio. Esistono pratiche sdlc o schemi di codifica che ci forniscono una metodologia che consente di rompere il codice in classi e quando spostare l'insieme di classi (o set di funzionalità) in un intero nuovo modulo?

    
posta Talha 23.08.2016 - 08:03
fonte

1 risposta

1

Classi e moduli non sono trade-off, non si sceglie l'uno rispetto all'altro, ma servono a scopi diversi. Una classe ti aiuta a modellare la tua applicazione in modo logico e ti serve durante lo sviluppo. Un modulo è un file di output della tua build, usato per "fisicamente" suddividere il tuo sistema in parti separate. Serve implementazione e gestione del ciclo di vita.

Se sei l'unico sviluppatore a fare un'applicazione desktop, non è necessario utilizzare i moduli. Se il tuo progetto è distribuito per natura (ad esempio, un servizio che serve un numero di utenti che utilizza applicazioni client), non c'è modo di aggirare i moduli. Se sei esperto di test, potrebbe essere conveniente creare moduli che puoi testare separatamente.

I moduli in genere hanno uno scopo pratico dopo la consegna. Le lezioni non servono a nessuno, ma tu, lo sviluppatore. Ti aiutano a mappare il mondo in software.

Modifica: un motivo comune per isolare le classi in un modulo è una relazione di dipendenza molti-a-uno. Se il codice di scopo generale è isolato in un modulo, il modulo può essere condiviso da una serie di moduli di livello superiore (come le diverse applicazioni). Oltre a salvare pochi byte, questo aiuta a mantenere le dipendenze dirette. Permette anche di correggere o interrompere più applicazioni contemporaneamente.

    
risposta data 23.08.2016 - 19:40
fonte

Leggi altre domande sui tag