Hoe MVC-architectuur in Java te implementeren?



Dit artikel over MVC-architectuur in Java helpt u te begrijpen wat het MVC-ontwerppatroon precies is en hoe het het ontwerpen van webtoepassingen eenvoudig maakt.

In het veld Webontwikkeling, Model-View-Controlleris een van de meest besproken in de wereld van webprogrammering vandaag. MVC Architecture was aanvankelijk opgenomen in de twee belangrijkste frameworks voor webontwikkeling: Struts en Ruby on Rails . Laten we in dit artikel een beetje meer over MVC-architectuur in .

De onderwerpen die in dit artikel worden behandeld, zijn als volgt:





Voordat we eigenlijk get in de technische aspecten van MVC Architecture, zijn er bepaalde concepten die u moet kennen.

  • Ontwerp patroon , in software engineering, is een techniek om een ​​veelvoorkomend probleem op te lossen bij het ontwerpen van software.
  • Model ontwerpen, specificeert welk type architectuur u gebruikt om het probleem op te lossen of het model te ontwerpen.
  • Er zijn er twee soorten ontwerpmodellen : Model 1 Architectuur , Model 2 (MVC) Architectuur.

Wat is MVC-architectuur in Java?

Modelontwerpen op basis van MVC-architectuur volgen de MVC en ze scheiden de applicatielogica van de gebruikersinterface bij het ontwerpen van software. Zoals de naam al aangeeft, heeft het MVC-patroon drie lagen, namelijk:



  • Model - Vertegenwoordigt de bedrijfslaag van de applicatie
  • Visie - Bepaalt de presentatie van de applicatie
  • Controller - Beheert de stroom van de applicatie

MVC - MVC-architectuur in Java - Edureka

In Java-programmeercontext,het model bestaat uit eenvoudig Java-klassen , de weergave toont de gegevens en de controller bestaat uit . Door deze scheiding worden gebruikersverzoeken als volgt verwerkt:

ruby on rails website tutorial



  1. De browser op de client stuurt een verzoek om een ​​pagina naar de controller die op de server aanwezig is
  2. De controller voert de actie uit door het model aan te roepen en daarbij de gegevens op te halen die het nodig heeft in reactie op het verzoek
  3. De controller geeft vervolgens de opgehaalde gegevens aan de weergave
  4. De weergave wordt weergegeven en teruggestuurd naar de client zodat de browser deze kan weergeven

Een softwaretoepassing scheiden indeze drie verschillende componenten is om een ​​aantal redenen een goed idee. Laten we eens kijken wat dat zijn.

Voordelen van MVC-architectuur in Java

MVC-architectuur biedt veel voordelen voor een programmeur bij het ontwikkelen van applicaties, waaronder:

wat is een naamruimte in c ++
  • Meerdere ontwikkelaars kunnen tegelijkertijd met de drie lagen (Model, View en Controller) werken
  • Aanbiedingen verbeterd schaalbaarheid , dat het vermogen van de applicatie om te groeien aanvult
  • Omdat componenten weinig van elkaar afhankelijk zijn, zijn ze gemakkelijk te onderhouden
  • Een model kan worden hergebruikt door meerdere weergaven, wat herbruikbaarheid van code mogelijk maakt
  • Door de toepassing van MVC wordt een toepassing expressiever en gemakkelijker te begrijpen
  • Uitbreiding en testen van de applicatie wordt eenvoudig

Nu weet je waarom de MVC het populairst is in de wereld van webprogrammering. Maar als u nog steeds moeite heeft om het concept van MVC te begrijpen, hoeft u zich geen zorgen te maken. We zullen diep in elk van deze lagen graven en hun doel leren kennen met behulp van een .

Implementatie van MVC met behulp van Java

Om een ​​webapplicatie te implementeren op basis van het MVC-ontwerppatroon, zullen we creëren

  • Cursus Klasse , die fungeert als de model laag
  • CourseView Klasse , die de presentatielaag ( bekijk laag )
  • CourseContoller-klasse , dat fungeert als een controller

Laten we deze lagen nu een voor een verkennen.

De modellaag

In het MVC-ontwerppatroon is het model- is de gegevenslaag die de bedrijfslogica van het systeem definieert en ook de toestand van de applicatie weergeeft.Het model voorwerpen de staat van het model ophalen en opslaan in een database. Via deze laag passen we regels toe op gegevens, die uiteindelijk de concepten vertegenwoordigen die onze applicatie beheert. Laten we nu een model maken met Cursus Klasse.

pakket MyPackage openbare klasse Cursus {privé String CourseName privé String CourseId privé String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (String naam) {this.CourseName = naam} public String getCategory () {return CourseCategory} public void setCategory (String categorie) {this.CourseCategory = categorie}}

De code is gemakkelijk te begrijpen en spreekt voor zich. Het bestaat uit functies om koersdetails op te halen / in te stellen.

De weergavelaag

Deze laag van het MVC-ontwerppatroon vertegenwoordigt de uitvoer van de applicatie of de gebruikersinterface. Het geeft de gegevens weer die door de controller zijn opgehaald uit de modellaag en presenteert de gegevens aan de gebruiker wanneer daarom wordt gevraagd. ikt ontvangt alle benodigde informatie van de controller en hoeft niet rechtstreeks met de bedrijfslaag te communiceren.Laten we een weergave maken met CourseView Klasse.

pakket MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Course Details:') System.out.println ('Name:' + CourseName) System.out.println ('Course ID:' + CourseId) System.out.println ('Course Category:' + CourseCategory)}}

Deze code isgewoon om de waarden naar de console af te drukken. Vervolgens hebben we de controller van de webapplicatie.

De controllerlaag

De Controller is als een interface tussen Model en View. Het ontvangt de gebruikersverzoeken van de viewlaag en verwerkt deze, inclusief de nodige validaties. De verzoeken worden vervolgens naar het model gestuurd voor gegevensverwerking. Nadat ze zijn verwerkt, worden de gegevens opnieuw teruggestuurd naar de controller en vervolgens weergegeven op de weergave.Laten we beginnen CourseContoller-klasse die optreedt als verwerkingsverantwoordelijke.

pakket MyPackage openbare klasse CourseController {privé Cursusmodel privé CourseView bekijken openbaar CourseController (cursusmodel, CourseView-weergave) {this.model = model this.view = weergave} openbaar void setCourseName (Stringnaam) {model.setName (naam)} openbare String getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {retour model.getId ()} public void setCourseCategory (String categorie) {model.setCategory (categorie)} openbare String getCourseCategory () {retour model.getCategory ()} openbare ongeldige updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Een vluchtige blik op de code zal ons vertellen dat deze controllerklasse alleen verantwoordelijk is voor het aanroepen van het model om de gegevens op te halen / in te stellen en het op basis daarvan bijwerken van de weergave. Laten we nuBekijk hoe deze allemaal met elkaar verbonden zijn.

lengte van een array javascript

Hoofd Java-klasse

Laten we deze klasse 'MVCPatternDemo.java' noemen. Bekijk de onderstaande code.

pakket MyPackage public class MVCPatternDemo {public static void main (String [] args) {// haal studentrecord op basis van zijn rolnummer uit de database Cursusmodel = retriveCourseFromDatabase () // Maak een weergave: om cursusdetails op de console te schrijven CourseView-weergave = nieuwe CourseView () CourseController-controller = nieuwe CourseController (model, weergave) controller.updateView () // update modelgegevenscontroller.setCourseName ('Python') System.out.println ('nNa het bijwerken zijn de cursusdetails als volgt') controller.updateView ()} private static Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') terug cursus}}

De bovenstaande klassehaalt de cursusgegevens op uit de met welke gebruiker de set waarden invoert. Vervolgens worden die waarden naar het cursusmodel gepusht. Vervolgens wordt de weergave geïnitialiseerd die we eerder in het artikel hadden gemaakt.Verder roept het ook de CourseController class en bindt het aan de Cursus klasse en de CourseView klasse. De updateView () methode die deel uitmaakt van de controller en werkt vervolgens de cursusdetails bij op de console. Bekijk de output hieronder.

Uitvoer

Cursusdetails: Naam: Java Cursus-ID: 01 Cursuscategorie: Programmeren Na het bijwerken zijn cursusdetails als volgt Cursusdetails: Naam: Python Cursus-ID: 01 Cursuscategorie: Programmeren

De MVC-architectuurbiedt een geheel nieuw niveau van modulariteit aan uw code, waardoor deze veel beter leesbaar en onderhoudbaar wordt. Dit brengt ons bij het einde van dit artikel.Ik hoop dat je duidelijk bent met alles wat met je is gedeeld.

Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. We zijn hier om je te helpen bij elke stap op je reis, we komen met een curriculum dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze ‘MVC-architectuur in Java’ artikel en we nemen zo snel mogelijk contact met u op.