Latest web development tutorials

전송 개체 모델

클라이언트에서 서버로의 다수의 속성 데이터의 일회 전송 객체 모델 (객체 전송 패턴)를 옮긴다. 전송 오브젝트는 값 객체로서 알려져있다. 오브젝트 이동 것은 직렬화 간단한 POJO 클래스 흡착제 / 설정 메소드이기 때문에, 이는 네트워크를 통해 전송 될 수있다. 그것은 어떤 행동이 없습니다. 비즈니스 클래스 서버는 전형적으로 데이터베이스로부터 데이터를 판독하고 POJO를 작성하고, 클라이언트에 송신 또는 값을 전달한다. 클라이언트의 전송 객체들은 읽기 전용이다. 클라이언트는 자신의 전송 오브젝트를 생성하고, 하나의 시간 값의 데이터베이스를 업데이트하기 위해 서버에 전달할 수있다. 다음은이 설계 패턴의 실체이다.

  • 비즈니스 오브젝트 (비즈니스 오브젝트) - 비즈니스 오브젝트 채우기 데이터 전송 서비스를 제공합니다.
  • 전송 개체 (전송 객체) - 간단한 POJO 만 설정 / 방법 속성을 얻을.
  • 클라이언트 (클라이언트) - 클라이언트는 요청을 보내거나 비지니스 개체의 전송 객체를 전송할 수있다.

실현

우리는StudentBO같은 비즈니스 오브젝트를 작성하고 전송StudentVO의 대상으로,그들은 우리의 엔티티를 나타냅니다.

TransferObjectPatternDemo는클라이언트로 여기에 우리의 데모 클래스는StudentBO학생 전송객체 디자인 패턴을 설명하는 데 사용됩니다.

전송 객체 패턴 UML 다이어그램

1 단계

전송 객체를 생성합니다.

StudentVO.java

공용 클래스 StudentVO {
   개인 문자열 이름;
   개인 INT rollNo;

   StudentVO (문자열 이름, INT rollNo) {
      this.name = 이름;
      this.rollNo = rollNo;
   }

   공공 문자열 getName () {
      이름을 반환;
   }

   공공 무효에서는 setName (문자열 이름) {
      this.name = 이름;
   }

   공공 INT getRollNo () {
      rollNo를 반환;
   }

   공공 무효의 setRollNo (rollNo를 INT) {
      this.rollNo = rollNo;
   }
}

2 단계

그것은 비즈니스 개체를 만듭니다.

StudentBO.java

수입 인 java.util.ArrayList;
가져 오기를 java.util.List;

공용 클래스 StudentBO {
	
   // 목록 목록 <StudentVO> 학생 등의 데이터베이스입니다;

   공공 StudentBO () {
      학생 = 새로운 ArrayList를 <StudentVO> ();
      StudentVO student1 = 새로운 StudentVO를 ( "로버트", 0);
      StudentVO student2 = 새로운 StudentVO를 ( "존", 1);
      students.add (student1);
      students.add (student2);		
   }
   공공 무효 deleteStudent (StudentVO 학생) {
      students.remove (student.getRollNo ());
      에서 System.out.println ( "학생 : 롤 없음" 
      + Student.getRollNo () + ", 데이터베이스에서 삭제");
   }

   // () {학생들 공개 목록 <StudentVO> getAllStudents의 데이터베이스 목록에서 만회
      학생들를 반환;
   }

   공공 StudentVO getStudent (rollNo를 INT) {
      students.get (rollNo)을 반환;
   }

   공공 무효 updateStudent (StudentVO 학생) {
      students.get (student.getRollNo ())에서는 setName (student.getName ());
      에서 System.out.println ( "학생 : 롤 없음" 
      + Student.getRollNo () + "데이터베이스에 업데이트");
   }
}

3 단계

전송 객체 디자인 패턴을 보여StudentBO를 사용합니다.

TransferObjectPatternDemo.java

공용 클래스 TransferObjectPatternDemo {
   공공 정적 무효 메인 (문자열 []에 args) {
      StudentBO studentBusinessObject = 새로운 StudentBO ();

      대한 // 출력 모든 학생들 (StudentVO 학생 : studentBusinessObject.getAllStudents ()) {
         에서 System.out.println ( "학생 : [RollNo"
         + Student.getRollNo () + "이름 :"+ student.getName () + "]");
      }

      // 업데이트 학생 StudentVO 학생 = studentBusinessObject.getAllStudents () 취득 (0);
      student.setName ( "마이클");
      studentBusinessObject.updateStudent (학생);

      // 학생을 받기 studentBusinessObject.getStudent (0);
      에서 System.out.println ( "학생 : [RollNo"
      + Student.getRollNo () + "이름 :"+ student.getName () + "]");
   }
}

4 단계

출력을 확인합니다.

학생 : [RollNo : 0 이름 : 로버트]
학생 : [RollNo : 1, 이름 : 존]
학생 : 데이터베이스에 업데이트 없음 0, 롤 없다
학생 : [RollNo : 0 이름 : 마이클]