logo

Java의 MVC 아키텍처

MVC(Model-View-Controller)는 잘 알려져 있습니다. 디자인 패턴 웹 개발 분야에서. 코드를 정리하는 방법입니다. 프로그램이나 애플리케이션이 데이터 모델, 표현 정보, 제어 정보로 구성되어야 함을 명시합니다. MVC 패턴에서는 이러한 모든 구성 요소를 서로 다른 개체로 분리해야 합니다.

이 섹션에서는 Java의 MVC 아키텍처에 대해 설명하고 Java에서 MVC 구현을 이해하기 위한 장점과 단점, 예제를 설명합니다.

Java의 MVC 아키텍처란 무엇입니까?

MVC 아키텍처를 기반으로 하는 모델 디자인은 MVC 디자인 패턴을 따릅니다. 모델 설계를 사용하여 소프트웨어를 설계하는 동안 애플리케이션 로직은 사용자 인터페이스와 분리됩니다.

MVC 패턴 아키텍처는 세 가지 계층으로 구성됩니다.

    모델:이는 애플리케이션의 비즈니스 계층을 나타냅니다. 데이터가 변경되면 컨트롤러를 업데이트하는 논리도 포함할 수 있는 데이터를 전달하는 개체입니다.보다:이는 애플리케이션의 프리젠테이션 계층을 나타냅니다. 모델에 포함된 데이터를 시각화하는 데 사용됩니다.제어 장치:모델과 뷰 모두에서 작동합니다. 애플리케이션의 흐름, 즉 모델 객체의 데이터 흐름을 관리하고 데이터가 변경될 때마다 뷰를 업데이트하는 데 사용됩니다.

Java 프로그래밍에서 모델에는 간단한 내용이 포함되어 있습니다. 자바 클래스 , 데이터를 표시하는 데 사용되는 뷰와 컨트롤러에는 서블릿 . 이러한 분리로 인해 사용자 요청은 다음과 같이 처리됩니다.

Java의 MVC 아키텍처
  1. 클라이언트(브라우저)는 페이지에 대한 요청을 서버 측 컨트롤러에 보냅니다.
  2. 그런 다음 컨트롤러는 모델을 호출합니다. 요청된 데이터를 수집합니다.
  3. 그런 다음 컨트롤러는 검색된 데이터를 뷰 레이어로 전송합니다.
  4. 이제 결과는 뷰에 의해 브라우저(클라이언트)로 다시 전송됩니다.

MVC 아키텍처의 장점

MVC 아키텍처의 장점은 다음과 같습니다.

  • MVC는 애플리케이션의 성장을 돕는 확장성이라는 특징을 가지고 있습니다.
  • 종속성이 적기 때문에 구성 요소를 유지 관리하기가 쉽습니다.
  • 코드 재사용성을 제공하는 여러 뷰에서 모델을 재사용할 수 있습니다.
  • 개발자는 세 가지 레이어(모델, 뷰, 컨트롤러)를 동시에 작업할 수 있습니다.
  • MVC를 사용하면 애플리케이션을 더 이해하기 쉬워집니다.
  • MVC를 사용하면 각 계층이 별도로 유지 관리되므로 대규모 코드를 처리할 필요가 없습니다.
  • 애플리케이션 확장 및 테스트가 더 쉽습니다.

Java를 이용한 MVC 구현

Java에서 MVC 패턴을 구현하려면 다음 세 가지 클래스를 만들어야 합니다.

    직원 클래스, 모델 레이어 역할을 합니다.EmployeeView 클래스, 뷰 레이어 역할을 합니다.EmployeeContoller 클래스, 컨트롤러 레이어 역할을 합니다.

MVC 아키텍처 레이어

모델 레이어

MVC 디자인 패턴의 모델은 애플리케이션의 데이터 계층 역할을 합니다. 이는 애플리케이션에 대한 비즈니스 로직과 애플리케이션 상태를 나타냅니다. 모델 객체는 모델 상태를 가져와서 데이터베이스에 저장합니다. 모델 계층을 사용하여 응용 개념을 나타내는 데이터에 규칙이 적용됩니다.

한 달은 몇 주입니까?

MVC 패턴을 구현하는 첫 번째 단계이기도 한 을 생성하는 다음 코드 조각을 고려해 보겠습니다.

Employee.java

 // class that represents model public class Employee { // declaring the variables private String EmployeeName; private String EmployeeId; private String EmployeeDepartment; // defining getter and setter methods public String getId() { return EmployeeId; } public void setId(String id) { this.EmployeeId = id; } public String getName() { return EmployeeName; } public void setName(String name) { this.EmployeeName = name; } public String getDepartment() { return EmployeeDepartment; } public void setDepartment(String Department) { this.EmployeeDepartment = Department; } } 

위의 코드는 단순히 Employee 클래스에 대한 getter 및 setter 메소드로 구성됩니다.

레이어 보기

이름에서 알 수 있듯이 뷰는 모델에서 받은 데이터의 시각화를 나타냅니다. 뷰 계층은 애플리케이션 또는 사용자 인터페이스의 출력으로 구성됩니다. 컨트롤러가 모델 계층에서 가져온 요청된 데이터를 클라이언트에 보냅니다.

EmployeeView 클래스를 사용하여 뷰를 생성하는 예를 들어보겠습니다.

EmployeeView.java

 // class which represents the view public class EmployeeView { // method to display the Employee details public void printEmployeeDetails (String EmployeeName, String EmployeeId, String EmployeeDepartment){ System.out.println('Employee Details: '); System.out.println('Name: ' + EmployeeName); System.out.println('Employee ID: ' + EmployeeId); System.out.println('Employee Department: ' + EmployeeDepartment); } } 

컨트롤러 레이어

컨트롤러 계층은 뷰 계층에서 사용자 요청을 가져와서 필요한 유효성 검사를 통해 처리합니다. Model과 View 사이의 인터페이스 역할을 합니다. 그런 다음 요청은 데이터 처리를 위해 모델로 전송됩니다. 처리가 완료되면 데이터는 컨트롤러로 다시 전송된 다음 뷰에 표시됩니다.

EmployeeController 클래스를 사용하여 컨트롤러를 생성하는 다음 코드 조각을 고려해 보겠습니다.

EmployeeController.java

2분기
 // class which represent the controller public class EmployeeController { // declaring the variables model and view private Employee model; private EmployeeView view; // constructor to initialize public EmployeeController(Employee model, EmployeeView view) { this.model = model; this.view = view; } // getter and setter methods public void setEmployeeName(String name){ model.setName(name); } public String getEmployeeName(){ return model.getName(); } public void setEmployeeId(String id){ model.setId(id); } public String getEmployeeId(){ return model.getId(); } public void setEmployeeDepartment(String Department){ model.setDepartment(Department); } public String getEmployeeDepartment(){ return model.getDepartment(); } // method to update view public void updateView() { view.printEmployeeDetails(model.getName(), model.getId(), model.getDepartment()); } } 

메인 클래스 Java 파일

다음 예에서는 MVC 아키텍처를 구현하기 위한 기본 파일을 표시합니다. 여기서는 MVCMain 클래스를 사용하고 있습니다.

MVCMain.java

 // main class public class MVCMain { public static void main(String[] args) { // fetching the employee record based on the employee_id from the database Employee model = retriveEmployeeFromDatabase(); // creating a view to write Employee details on console EmployeeView view = new EmployeeView(); EmployeeController controller = new EmployeeController(model, view); controller.updateView(); //updating the model data controller.setEmployeeName('Nirnay'); System.out.println('
 Employee Details after updating: '); controller.updateView(); } private static Employee retriveEmployeeFromDatabase(){ Employee Employee = new Employee(); Employee.setName('Anu'); Employee.setId('11'); Employee.setDepartment('Salesforce'); return Employee; } } 

그만큼 MVC메인 클래스는 값을 입력한 메소드에서 직원 데이터를 가져옵니다. 그런 다음 해당 값을 모델에 푸시합니다. 그런 다음 뷰(EmployeeView.java)를 초기화합니다. 뷰가 초기화되면 Controller(EmployeeController.java)가 호출되어 Employee 클래스와 EmployeeView 클래스에 바인딩됩니다. 마지막으로 updateView() 메서드(컨트롤러 메서드)는 직원 세부 정보를 업데이트하여 콘솔에 인쇄합니다.

산출:

 Employee Details: Name: Anu Employee ID: 11 Employee Department: Salesforce Employee Details after updating: Name: Nirnay Employee ID: 11 Employee Department: Salesforce 

이로써 우리는 MVC 아키텍처, 각 레이어의 중요성, Java에서의 구현에 대해 배웠습니다.