Android - Clean Architecture - il modo migliore per strutturare i pacchetti?

1

Puoi dare un'occhiata alla mia struttura dei pacchetti per capire come ho implementato l'architettura pulita in Android:

seosserviamoildiagrammadell'architetturapulita,sembracheiframeworksianoseparatidallivellodell'interfacciautente:

quindilostratodell'interfacciautenteèseparatodaframeworkedriver.quindiunadellemiedomandeèquindipiùappropriataavereunacartellachiamataframeworkepoiinserirelamiacartelladelpacchettoUIeilpacchettoframeworkall'internodiquello?

L'appchehocreatoèun'appdie-commerceehamoltigatewaydipagamentochesicollegaapaypal,stripe,wePay,ecc.quindihounpacchettogatewaychedaldiagrammasopradovrebbeesserenellivelloframework,corretta?perchévedochehalaparola"gateway" nel diagramma nel livello framework.

quindi riassumere qui sono le mie domande:

  1. sarebbe meglio avere un nuovo pacchetto Frameworks e inserire il interfaccia utente esistente, framework, registrazione e amp; pacchetti di gateway in esso?

    1. quindi immagino che sarebbe più pulito avere un nuovo pacchetto chiamato adattatori di interfaccia che avrebbe la mia presentazione pacchetto esistente in esso?

    2. e creare un nuovo pacchetto Enterprise Business Rules e spostare i dati e le cartelle del dominio in esso contenuti?

    3. il pacchetto dagger è il mio codice di iniezione delle dipendenze, sarebbe meglio nel pacchetto framework?

Quindi quando apro l'applicazione Android in IDe, la struttura del pacchetto potrebbe apparire come questa:

+Frameworks
+Interface Adapters
+Application Business Rules
+Enterprise Business Rules

è più significativo?

    
posta j2emanue 03.03.2018 - 08:53
fonte

1 risposta

1

Probabilmente lo zio Bob preferirebbe vedere "l'intenzione commerciale" della tua app nella struttura delle cartelle di primo livello. Questo è ciò che intendo con "architettura urlante".

così come ho descritto nel post del mio blog qui link la struttura di primo livello dovrebbe contenere cose come

  • pagamento
  • scheda
  • catalogo prodotti
  • ricerca di prodotto

questi aspetti che ad es. il tuo cliente potrebbe anche vedere usando l'app.

al livello successivo vorrei almeno separare gli utenti e le entità dal resto. a seconda delle dimensioni della tua app potrebbe essere possibile avere un progetto per cerchio all'interno di ciascuna delle cartelle di livello superiore.

con questo approccio avresti un'architettura urlante che chiaramente separa le diverse preoccupazioni commerciali e tecniche.

d'altra parte ciò creerebbe alcuni progetti. Dovresti bilanciare entrambi gli aspetti per il tuo progetto.

(Qualsiasi commento al mio post sul blog è ben accetto, così posso migliorarlo ulteriormente)

    
risposta data 03.03.2018 - 15:08
fonte

Leggi altre domande sui tag