Recentemente ho iniziato a lavorare su un nuovo progetto in cui il team stava prendendo in considerazione l'uso dell'architettura cipolla, che non conoscevo molto bene, quindi ho iniziato a leggerlo.
L'applicazione è un semplice convertitore di formato 3D. Legge un database SQL, converte i dati e poi scrive il nuovo formato in un altro database MySql. Il primo database è molto complesso, ma non penso che sia il caso. Il concetto di applicazione è molto semplice: leggi da A, converti, scrivi in B. Non avrò alcun servizio o infrastruttura speciale per questo.
Sarà un'applicazione desktop.
Sulla base di questi fatti, chiedo:
-
Tutto ciò che ho letto su onion è correlato alle applicazioni web. C'è qualche motivo particolare per cui non è molto popolare in un'applicazione desktop?
-
Ho letto anche che è più indicato nelle imprese complesse. Sarebbe efficace e avrà vantaggi pratici su un'applicazione così semplice?
-
Se andiamo per il percorso della cipolla, cosa sarebbe nel livello del dominio? Sei libero di commentare i seguenti livelli:
L1) Source Layer: rappresenterà i dati nel database di origine
L2) Output Layer: rappresenterà i dati nel database di output
L3) Database Reader Layer: sarà responsabile della lettura del database di origine e del popolamento del livello 1
L4) Converter Layer: sarà un adattatore che riceverà Layer 1 e popolerà il Layer 2 con i dati convertiti
L5) Database Writer Layer: scriverà il Layer 2 nel databaseI livelli 1 e 2 sarebbero il mio dominio?
I livelli 3 e 5 sarebbero infrastruttura?
E il livello 4 sarebbe un servizio di applicazione o dominio?