Quindi mi sono imbattuto in questo post durante la ricerca sulla strutturazione dei pacchetti per MVC. Ho solo bisogno di chiarimenti su cosa sono un dominio aziendale e un dominio tecnico. Gli esempi sarebbero utili.
Quindi mi sono imbattuto in questo post durante la ricerca sulla strutturazione dei pacchetti per MVC. Ho solo bisogno di chiarimenti su cosa sono un dominio aziendale e un dominio tecnico. Gli esempi sarebbero utili.
Dominio aziendale si riferisce agli aspetti del mondo reale della soluzione (ad esempio assistenza sanitaria, aviazione, finanza, militare, vendita al dettaglio, ecc.). Il dominio aziendale informa i requisiti e criteri di accettazione per il sistema; può essere indicativo di una forma di segregazione di alto livello per aree diverse.
Ad esempio, se stai realizzando una soluzione per un ERP aziendale, potresti creare divisioni di alto livello nel tuo sistema generale come segue:
Mi aspetto che questo tipo di divisioni esista al livello più alto del software - ad esempio, probabilmente non c'è molto crossover tra l'helpdesk IT o il controllo delle scorte, quindi potrebbe avere senso tenerle separate.
Nella domanda a cui ti sei collegato, dominio tecnico fa riferimento alle tecnologie utilizzate, inclusi pattern e framework (ad esempio ASP.NET/Ruby su rails, MVC Pattern, ecc.). Questi tendono ad informare scelte progettuali e architetture specifiche per applicazioni o gruppi di applicazioni correlati.
Le tecnologie sono spesso suggestive o prescrittive di particolari strutture, solitamente utilizzate a livello di applicazione piuttosto che di livello superiore.
Ad esempio, "MVC" potrebbe suggerire una struttura di progetto per una particolare applicazione come segue:
Questa struttura potrebbe essere specchiata su più applicazioni diverse, o forse altre applicazioni utilizzeranno tecnologie diverse. In definitiva, il dominio aziendale influirà sulla scelta delle tecnologie utilizzate (ad esempio "Abbiamo bisogno di un sito web" o "Siamo disposti a pagare per X") e potrebbe aiutare a informare una struttura di alto livello, ma in genere non al grado di dettare le decisioni tecniche sul design o sull'architettura.
Leggi altre domande sui tag architecture terminology