Latest web development tutorials

Передача объектной модели

Transfer Object Model (Transfer Object Pattern) для передачи единовременного данных с несколькими атрибутами от клиента к серверу. Объект передачи также известен как объекты-значения. Перенести объект является простым методы геттер / сеттер класса POJO, то сериализуемым, поэтому он может быть передан через сеть. Это не имеет никакого поведения. Бизнес-класс-сервер обычно считывать данные из базы данных, а затем заполнить POJO, и отправляет его клиенту или передать его по значению. Для клиентов, объект только для чтения передачи. Клиенты могут создавать свои собственные объекты транспорта, и передать его на сервер, чтобы обновить базу данных в одно значение времени. Следующее является объектом данного шаблона проектирования.

  • Business Objects (Business Object) - транспортные услуги для данных заполнения бизнес - объекта.
  • Transfer Object (Transfer Object) - простой POJO, только установить / получить атрибут метода.
  • Клиент (Client) - клиент может послать запрос или отправить объект передачи бизнес - объекта.

реализация

Мы создадим бизнес - объект какStudentBOи как объект передачиStudentVO,они представляют нашу сущность.

TransferObjectPatternDemo,наш демонстрационный класс здесь в качестве клиента будет использоваться для демонстрацииStudentBOи передачистуденташаблон проектирования объекта.

паттерн Transfer Object UML диаграмма

Шаг 1

Создание объекта передачи.

StudentVO.java

Открытый класс StudentVO {
   частное имя строки;
   частное INT rollNo;

   StudentVO (имя String, INT rollNo) {
      this.name = имя;
      this.rollNo = rollNo;
   }

   Строка GetName общественности () {
      вернуть имя;
   }

   общественного недействительными SetName (имя String) {
      this.name = имя;
   }

   общественное INT getRollNo () {
      вернуть rollNo;
   }

   общественного недействительными setRollNo (Int rollNo) {
      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 () + ", удаляется из базы данных");
   }

   // Источник из списка базы данных студентов общественных List <StudentVO> getAllStudents () {
      возвращать студентов;
   }

   общественного StudentVO getStudent (Int rollNo) {
      вернуть students.get (rollNo);
   }

   общественного недействительными updateStudent (студент StudentVO) {
      students.get (student.getRollNo ()) SetName (student.getName ()) .;
      System.out.println ( "Студент: Нет Ролл" 
      + Student.getRollNo () + ", обновлены в базе данных");
   }
}

Шаг 3

ИспользуйтеStudentBOдля демонстрации шаблонов проектирования объекта передачи.

TransferObjectPatternDemo.java

Открытый класс TransferObjectPatternDemo {
   государственной статической силы основных (String []) {агдз
      StudentBO studentBusinessObject = новый StudentBO ();

      // Вывод всех студентов для (студента StudentVO: studentBusinessObject.getAllStudents ()) {
         System.out.println ( "Студент: [RollNo:"
         + Student.getRollNo () + ", имя:" + student.getName () + "]");
      }

      // Обновление студент StudentVO студент = studentBusinessObject.getAllStudents () получаем (0) .;
      student.setName ( "Michael");
      studentBusinessObject.updateStudent (студент);

      // Получить студентов studentBusinessObject.getStudent (0);
      System.out.println ( "Студент: [RollNo:"
      + Student.getRollNo () + ", имя:" + student.getName () + "]");
   }
}

Шаг 4

Проверьте выход.

Студент: [RollNo: 0, Имя: Роберт]
Студент: [RollNo: 1, имя: Джон]
Студент: раскатайте Нет 0, обновленный в базе данных
Студент: [RollNo: 0, Имя: Michael]