Transfer Object Pattern is used to transfer data with multiple attributes from the client to the server at one time. The transfer object is also known as a numeric object. The transfer object is a simple POJO class with getter/setter methods, which is serializable, so it can be transferred over the network. It didn't do anything. The business class on the server side usually reads the data from the database, populates the POJO, and sends it to the client or passes it by value. For clients, the transport object is read-only. The client can create its own transport object and pass it to the server to update the values in the database at one time. The following are the entities of this design pattern.
- Business Object - the business service that populates the data for the transfer object.
- Transfer Object - a simple POJO with only the method of setting / getting properties.
- Client - the client can send a request or send a transfer object to a business object.
Create a transfer object. StudentVO.java public class StudentVO { private String name; private int rollNo; StudentVO(String name, int rollNo){ this.name = name; this.rollNo = rollNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } } //Step 2 //Create business objects. StudentBO.java import java.util.ArrayList; import java.util.List; public class StudentBO { //List is treated as a database List<StudentVO> students; public StudentBO(){ students = new ArrayList<StudentVO>(); StudentVO student1 = new StudentVO("Robert",0); StudentVO student2 = new StudentVO("John",1); students.add(student1); students.add(student2); } public void deleteStudent(StudentVO student) { students.remove(student.getRollNo()); System.out.println("Student: Roll No " + student.getRollNo() +", deleted from database"); } //Retrieving student list from database public List<StudentVO> getAllStudents() { return students; } public StudentVO getStudent(int rollNo) { return students.get(rollNo); } public void updateStudent(StudentVO student) { students.get(student.getRollNo()).setName(student.getName()); System.out.println("Student: Roll No " + student.getRollNo() +", updated in the database"); } } //Step 3 //Use StudentBO to demonstrate the transport object design pattern. TransferObjectPatternDemo.java public class TransferObjectPatternDemo { public static void main(String[] args) { StudentBO studentBusinessObject = new StudentBO(); //Output all students for (StudentVO student : studentBusinessObject.getAllStudents()) { System.out.println("Student: [RollNo : " +student.getRollNo()+", Name : "+student.getName()+" ]"); } //Update students StudentVO student =studentBusinessObject.getAllStudents().get(0); student.setName("Michael"); studentBusinessObject.updateStudent(student); //Get students studentBusinessObject.getStudent(0); System.out.println("Student: [RollNo : " +student.getRollNo()+", Name : "+student.getName()+" ]"); } }
I don't know what it means. It should be a common database operation. I really didn't notice what I could learn....