Con "verticale partizionato", voglio dire avere spazi dei nomi che prendono il nome moduli piuttosto che "strati"Come evitare la collisione tra namespace e nome classe in assembly "partizionati verticalmente"?
Quindi,
- MyApp.Core
- MyApp.Accounting
- MyApp.OrderManagement
- MyApp.HR
anziché
- MyApp.UI
- MyApp.Business
- MyApp.Data
L'unico problema che sto funzionando in è che a volte queste assemblee potrebbero avere una parte dello spazio dei nomi che è lo stesso come un scrivi il nome
Diciamo che creo un modulo relativo all'account e lo denomino MyApp.Account.dll con lo spazio dei nomi di base di MyApp.Account. Inevitabilmente, ho bisogno di creare una classe denominata Account. Quindi devo usare lo spazio dei nomi o digitare alias.
Oltre ad essere molto creativo con i nomi, qualcun altro ha mai avuto esperienza nel tagliare gli assiemi e ha affrontato problemi di collisione di nomi?
Posso chiedere qual è la necessità per voi di creare lo spazio dei nomi come questo? Perché non MyApp.Business.Account? – ram
Stai dicendo che lo spazio dei nomi sarebbe MyApp.Business, che conterrebbe il tipo Account? Se è così, questo è un modo per gestirlo - in realtà, sto pensando di mantenere i nomi degli assembly come MyApp.Accounting, quindi namespace come MyApp.DomainObjects, in base al quale verrà creato il tipo di account. –
La ragione per cui sto creando queste sezioni verticali è che ogni "modulo" può essere sviluppato e gestito separatamente. Invece di avere tutte le funzionalità in un unico assembly in "Business", avresti molti assembly contenenti qualunque "layer" necessario per supportare una singola funzione. –