Latest web development tutorials

MVC 패턴

모델 MVC 모델은 모델 - 뷰 - 컨트롤러 (-보기 - 컨트롤러 모델)을 나타냅니다. 이 모드는 계층 애플리케이션 개발에 사용된다.

  • 모델 (모델) - 모델은 데이터 액세스 개체 또는 JAVA POJO를 나타냅니다.또한 로직, 업데이트 컨트롤러 데이터 변경 사항을 수행 할 수있다.
  • 보기 (보기) - 뷰 모델 시각화의 대표가 포함되어 있습니다.
  • 컨트롤러 (컨트롤러) - 컨트롤러 역할 모델에에 볼 수 있습니다.이는 데이터 흐름 모델 객체를 제어하고 뷰 데이터 변경을 갱신. 그것은 분리 된 뷰와 모델을 만든다.

실현

우리는학생 개체모델을 생성합니다.StudentView 세부사항은클래스,StudentController는학생 객체컨트롤러 클래스에 데이터를 저장하기위한 책임이 볼 콘솔에 출력의 학생, 그리고보기StudentView를 업데이트합니다.

MVCPatternDemo,우리는 MVC 패턴의 사용을 설명하기StudentController 클래스의사용을 입증한다.

MVC 패턴 UML 다이어그램

1 단계

모델을 만듭니다.

Student.java

공용 클래스 학생 {
   개인 문자열 rollNo;
   개인 문자열 이름;
   공공 문자열 getRollNo () {
      rollNo를 반환;
   }
   공공 무효 setRollNo (문자열 rollNo) {
      this.rollNo = rollNo;
   }
   공공 문자열 getName () {
      이름을 반환;
   }
   공공 무효에서는 setName (문자열 이름) {
      this.name = 이름;
   }
}

2 단계

보기를 만듭니다.

StudentView.java

공용 클래스 StudentView {
   공공 무효 printStudentDetails (문자열 studentName, 문자열 studentRollNo) {
      에서 System.out.println ( "학생 :");
      에서 System.out.println ( "이름"+ studentName);
      에서 System.out.println ( "롤 번호 :"+ studentRollNo);
   }
}

3 단계

컨트롤러를 만듭니다.

StudentController.java

공용 클래스 StudentController {
   개인 학생 모델;
   개인 StudentView보기;

   공공 StudentController (학생 모델, StudentView보기) {
      this.model = 모델;
      this.view =보기;
   }

   공공 무효 setStudentName (문자열 이름) {
      model.setName (이름);		
   }

   공공 문자열 getStudentName () {
      () model.getName를 반환;		
   }

   공공 무효 setStudentRollNo (문자열 rollNo) {
      model.setRollNo (rollNo);		
   }

   공공 문자열 getStudentRollNo () {
      () model.getRollNo를 반환;		
   }

   공공 무효 updateView () {				
      view.printStudentDetails (model.getName () model.getRollNo ());
   }	
}

4 단계

MVC 디자인 패턴의 사용을 설명하기StudentController 방법을 사용합니다.

MVCPatternDemo.java

공용 클래스 MVCPatternDemo {
   공공 정적 무효 메인 (문자열 []에 args) {

      // 학생 기록 학생 모델을 얻을 수 = retriveStudentFromDatabase () 데이터에서;

      // 뷰를 만듭니다 콘솔 학생 정보 StudentView보기로 출력 = 새로운 StudentView를 ();

      StudentController 컨트롤러 = 새로운 StudentController (모델, 뷰);

      controller.updateView ();

      // 업데이트 모델 데이터 controller.setStudentName ( "존");

      controller.updateView ();
   }

   개인 정적 학생 retriveStudentFromDatabase () {
      학생 학생 = 새로운 학생 ();
      student.setName ( "로버트");
      student.setRollNo ( "10");
      학생을 반환;
   }
}

5 단계

출력을 확인합니다.

학생 : 
이름 : 로버트
어떤 롤하지 : 10
학생 : 
이름 : 존
어떤 롤하지 : 10