Så jag stötte på det här inlägget medan jag undersökte paketstrukturering för MVC. Jag behöver bara några förtydliganden om vad en företagsdomän och teknisk domän är. Exempel skulle vara till hjälp.
Kommentarer
- Du bör överväga att leta efter definitioner för dessa termer och sedan ställa specifika frågor om de delar du inte ' förstår inte.
- Ja, det gjorde jag. Exempel skulle vara till hjälp efter att ha letat upp definitioner som inte var tillräckligt detaljerade för mig. Tack.
Svar
Business Domain avser verkliga aspekter av din lösning (t.ex. sjukvård, flyg, ekonomi, militär, detaljhandel, etc.). Företagsdomänen informerar om dina krav och godkännandekriterier för systemet; det kan vara ett tecken på en mycket hög nivå av segregering för olika områden.
Till exempel, om du råkar bygga en lösning för ett affärs-ERP, kan du skapa högnivåavdelningar i ditt totala system enligt följande:
- Säkerhet
- Ekonomi
- Försäljning
- Aktiekontroll
- Frakt
- Kundtjänst
- IT-helpdesk
Jag förväntar mig att denna typ av divisioner existerar på den översta nivån i programvaran – det vill säga det är förmodligen inte så mycket korsning mellan IT Helpdesk eller Stock Control, så det kan vara vettigt för att hålla dem åtskilda.
I den fråga du har länkat till Teknisk domän hänvisar till teknik som används, inklusive mönster och ramar (t.ex. ASP.NET/Ruby on rails, MVC Pattern, etc). Dessa tenderar att informera specifika designval och arkitekturer för applikationer eller relaterade applikationsgrupper.
Teknik är ofta suggestiva eller föreskrivande för vissa strukturer – vanligtvis används på applikationsnivå snarare än på toppnivå.
Till exempel kan ”MVC” föreslå en projektstruktur för en viss applikation enligt följande:
- Modeller
- Visningar
- Kontroller
- Delad / gemensam
- Skript
Den strukturen kan råka speglas i flera olika applikationer, eller kanske andra applikationer använder olika I slutändan kommer företagsdomänen att ha en viss inverkan på valet av teknik som används (t.ex. ”Vi behöver en webbplats” eller ”Vi är bara villiga att betala för X”), och kan hjälpa till att informera en mycket hög nivå men typiskt inte i den grad att diktera tekniska beslut om design eller arkitektur.