Обзор
Основное использование шаблона объекта передачи - передача данных с несколькими атрибутами одновременно. Он состоит из 3 частей:
- Объект передачи - простой простой старый объект Java (POJO), у которого есть только геттеры и сеттеры.
- Бизнес-объект - содержит логику, управляющую перемещаемым объектом.
- Клиент - передает или получает объект передачи от бизнес-объекта.
Выполнение
Перенести объект
PersonTO.java
public class PersonTO { private String name; private int id; PersonTO(String name, int id){ this.name = name; this.id = id } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } }
Бизнес-объект
PersonBO.java
import java.util.ArrayList; import java.util.List; public class PersonBO { // database List<PersonTO> people; public PersonBO(){ people = new ArrayList<PersonTO>(); PersonTO p1 = new PersonTO("Gary", 0); PersonTO p2 = new PersonTO("Sam", 1); people.add(p1); people.add(p2); } public void deletePerson(PersonTO person) { people.remove(person.getId()); System.out.println(person.getId() + ". " + person.getName() + " deleted"); } public List<PersonTO> getAllPeople() { return people; } public PersonTO getPerson(int id) { return people.get(id); } public void updatePerson(PersonTO person) { people.get(person.getId()).setName(person.getName()); System.out.println("Id " + person.getId() + " updated"); } }
Клиент
Demo.java
public class Demo { public static void main(String[] args) { PersonBO personBusinessObject = new PersonBO(); // Print all people for (PersonTO person : personBusinessObject.getAllPeople()) { System.out.println("Id : " + person.getId() + ", Name : " + person.getName()); } // Update person PersonTO person = personBusinessObject.getAllPeople().get(0); person.setName("Jim"); personBusinessObject.updatePerson(person); // Get person person = personBusinessObject.getPerson(0); System.out.println("Id : " + person.getId() + ", Name : " + person.getName()); } } >> Id: 0, Name: Gary >> Id: 1, Name: Same >> Id 0 updated >> Id: 0, Name: Jim
Вывод
Используя шаблон передачи данных, вы можете сгруппировать несколько вызовов вместе. В приведенном выше примере он извлекает, обновляет и удаляет. Однако это не ограничивается только этими действиями. Этот шаблон следует использовать, если клиент запрашивает множественную информацию, и они связаны между собой, увеличивают производительность для извлечения ресурсов и вы хотите уменьшить количество вызовов.