Bästa svaret
Även om följande inte är en perfekt representation av systemarkitekturen i fråga, och trots att det finns andra arkitekturer , Jag har använt följande diagram tidigare för att förklara de typiska skikten för en webbapplications arkitektur.
Denna arkitektur stöder MVC, som jag definierar nedan enligt en gammal bild från en utbildningskurs för webbapplikationer som jag brukade göra:
Där skiktningen av arkitekturen väsentligen motsvarar MVC enligt följande:
Även om bilderna och så vidare som används i det här svaret gäller Java-baserade webbapplikationer är begreppen generiska.
Mer ny arkitektur är användningen av mikrotjänster där en applikations arkitek turen är uppdelad i en uppsättning tjänster enligt följande:
Där varje tjänst har en smal, fokuserad uppsättning ansvarsområden och exponeras oberoende i form av fjärråtkomliga API: er, t.ex. REST, konsumeras med protokoll som HTTP.
En onlinetjänst kan ha separata mikrotjänster för användarkonton, produktkatalog, underhåll av kundvagnen och orderhantering.
Våren Boot framework är utformat för denna typ av implementering.
Svar
Du kan överväga MVC – Model-view – controller ( MVC ) är en av de mest använda ramarna för programvaruarkitektur för att utveckla användargränssnitt som delar upp en applikation i tre sammankopplade delar (modell / vy och styrenhet). Detta görs för att separera interna representationer av information från hur information presenteras för och accepteras från användaren.
MVC-arkitekturen frikopplar dessa huvudkomponenter som möjliggör effektiv kodåteranvändning och parallell utveckling med begreppet separering av problem som är lämpliga för både webb- och skrivbordsapplikationer.
Till exempel: JHispter är MVC-ramverk (tillsammans med REST API) för Webbapplikationer, medan det mest populära ramverket Spring också tillhör MVC för alla typer av applikationer.
I UML kan du använda en sekvens diagram som representerar din MVC-programvaruarkitektur. (Källa: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle )
- Enheter är objekt som representerar systemdata: Kund, produkt, transaktion, kundvagn osv.
- Gränser är objekt som gränssnitt med systemaktörer: UserInterface, DataBaseGateway, ServerProxy, etc.
- Kontroller är objekt som förmedlar mellan gränser och enheter.
De ordnar körningen av kommandon kommer från gränsen genom att interagera med entitets- och gränsobjekt. Kontroller motsvarar ofta användningsfallsscenariet och representeras ofta av ett sekvensdiagram.
Du kan använda stereotyper för livlinjen i MVC-sekvensdiagrammet för att göra det visuellt klart vilken typ av objekt du använder i MVC
Skapa MVC-sekvensdiagram med gratis UML-verktyg
Förstå mer om UML-diagram
Läs mer om sekvensdiagram