Передача объектной модели
Transfer Object Model (Transfer Object Pattern) для передачи единовременного данных с несколькими атрибутами от клиента к серверу. Объект передачи также известен как объекты-значения. Перенести объект является простым методы геттер / сеттер класса POJO, то сериализуемым, поэтому он может быть передан через сеть. Это не имеет никакого поведения. Бизнес-класс-сервер обычно считывать данные из базы данных, а затем заполнить POJO, и отправляет его клиенту или передать его по значению. Для клиентов, объект только для чтения передачи. Клиенты могут создавать свои собственные объекты транспорта, и передать его на сервер, чтобы обновить базу данных в одно значение времени. Следующее является объектом данного шаблона проектирования.
- Business Objects (Business Object) - транспортные услуги для данных заполнения бизнес - объекта.
- Transfer Object (Transfer Object) - простой POJO, только установить / получить атрибут метода.
- Клиент (Client) - клиент может послать запрос или отправить объект передачи бизнес - объекта.
реализация
Мы создадим бизнес - объект какStudentBOи как объект передачиStudentVO,они представляют нашу сущность.
TransferObjectPatternDemo,наш демонстрационный класс здесь в качестве клиента будет использоваться для демонстрацииStudentBOи передачистуденташаблон проектирования объекта.
Шаг 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]