18 messaggi dal 06 settembre 2002
Sono ancora all'inizio dello studio di ASP.NET Core ma, se ho capito bene, lo sviluppo di applicazioni web promuove un modello che prevede di organizzare l'applicazione in classi models/repository/views il tutto passando per la registrazione dei servizi per poter sfruttare la DI.

Aggiungo che come modello di sviluppo ho scelto le Razor Pages.

Nel caso dello sviluppo di un sistema enterprise, diciamo un sistema contabile (fatturazione, ordini, magazzino), si puo' tranquillamente prevedere di dover gestire un database con piu' di 100 tabelle e la scrittura di altrettante funzioni per la loro gestione.

Domanda 1.
Facendo la scelta di creare un'unica soluzione organizzata in piu' cartelle, tutti i servizi saranno definiti nella classe Startup.
L'avvio dell'applicazione viene rallentata prevedendo la registrazione di almeno 100 servizi?

Domanda 2.
Prevedendo che alcuni utenti utilizzeranno solo alcuni sottosistemi, e' possibile ridurre il numero dei servizi da registrare all'avvio, oppure dovranno comunque essere registrati tutti?

Domanda 3.
E' corretto questo modello di sviluppo oppure per un sistema enterprise e' consigliabile un approccio diverso?

Per esempio mantenendo sempre una soluzione unica ma suddivisa in piu' applicazioni web o librerie di classi Razor.

Ho visto che aggiungendo un progetto di tipo applicazione web, questa contiene una sua classe Startup in cui definire ad esempio solo i servizi di cui e' responsabile.
Da questa applicazione e' possibile accedere a servizi registrati in un'altra applicazione dello stesso progetto?

Grazie per la disponibilita'
salvo
18 messaggi dal 06 settembre 2002
Giusto per completezza.

Un sistema enterprise prevede un database con almeno 1.000 tabelle.

Per l'interfaccia al database ho scelto la libreria Dapper, no Entity Framework.

salvo
11.097 messaggi dal 09 febbraio 2002
Contributi

Domanda 1.
Facendo la scelta di creare un'unica soluzione organizzata in piu' cartelle, tutti i servizi saranno definiti nella classe Startup.
L'avvio dell'applicazione viene rallentata prevedendo la registrazione di almeno 100 servizi?

La registrazione di un servizio consiste semplicemente nell'associare il tipo di un'interfaccia al tipo di una classe con un relativo ciclo di vita. Nessuna istanza dei servizi viene creata durante la loro registrazione e perciò non avrai rallentamenti.


Domanda 2.
Prevedendo che alcuni utenti utilizzeranno solo alcuni sottosistemi, e' possibile ridurre il numero dei servizi da registrare all'avvio, oppure dovranno comunque essere registrati tutti?

Registrali tutti. Come dicevo, le istanze vengono create al bisogno e perciò non vale la pena preoccuparsi di quante siano le registrazioni.


Domanda 3.
E' corretto questo modello di sviluppo oppure per un sistema enterprise e' consigliabile un approccio diverso?

Per prima cosa dovresti capire quali sono i bounded context nel tuo dominio di business. Hai citato fatturazione, ordini e magazzino e già questi potrebbero essere 3 bounded context differenti. Vuol dire che potresti anche creare 3 applicazioni diverse che si scambiano dati tra loro per mezzo di web api.
Oppure puoi anche creare una sola applicazione e organizzare su diverse Area i vari ambiti.
Questo devi deciderlo tu che conosci bene i requisiti.

Ecco un'introduzione al concetto di bounded context.
https://martinfowler.com/bliki/BoundedContext.html


Per l'interfaccia al database ho scelto la libreria Dapper, no Entity Framework.

Puoi anche usare entrambi: ti crei un modello per la scrittura basato su entity framework e poi ti crei un modello per la lettura denormalizzando quello per la scrittura e lo leggi con Dapper, per avere le migliori performance. Bisogna capire se ne vale la pena: quanti utenti contemporanei prevedi di avere?

ciao,
Moreno

Enjoy learning and just keep making
11.097 messaggi dal 09 febbraio 2002
Contributi
Aggiungo anche: se questo è un progetto a lungo termine e che influenzerà il benessere di un'impresa, dovresti far venire un consulente per fargli esaminare tutti i dettagli del caso. Ti potrà dare dei consigli più mirati di quanto tu possa avere da un forum, le cui risposte sono create in 5 minuti.
Modificato da BrightSoul il 12 novembre 2018 14.41 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.