Latest web development tutorials
×

设计模式 หลักสูตร

รูปแบบการออกแบบ รู้เบื้องต้นเกี่ยวกับรูปแบบการออกแบบ โหมดโรงงาน แบบโรงงานย่อ รูปแบบเดี่ยว รุ่นสร้าง รุ่นต้นแบบ อะแดปเตอร์รุ่น สะพานโหมด รูปแบบตัวกรอง โหมดการทำงานร่วมกัน มัณฑนากร รูปแบบซุ้ม ฟลายเวท โหมดพร็อกซี่ ห่วงโซ่ของรูปแบบความรับผิดชอบ โหมดคำสั่ง รูปแบบล่าม โหมดซ้ำแล้วซ้ำอีก รูปแบบที่เป็นสื่อกลาง รูปแบบของที่ระลึก รูปแบบการสังเกตการณ์ รูปแบบของรัฐ null Object Model โหมดกลยุทธ์ โหมดแม่แบบ รูปแบบของผู้เข้าชม MVC โหมด โหมดตัวแทน โหมดนิติบุคคลองค์ประกอบ รูปแบบการเข้าถึงข้อมูลของวัตถุ รูปแบบการควบคุมด้านหน้า intercepting รูปแบบตัวกรอง รูปแบบการบริการผู้แทนจำหน่าย วัตถุ Transfer รุ่น

设计模式其他

ทรัพยากรโหมดออกแบบ

วัตถุ Transfer รุ่น

การถ่ายโอน Object Model (การโอนวัตถุแบบ) สำหรับการถ่ายโอนเพียงครั้งเดียวของข้อมูลที่มีคุณลักษณะหลายรายการจากลูกค้าไปยังเซิร์ฟเวอร์ วัตถุขนส่งนอกจากนี้ยังเป็นที่รู้จักกันเป็นวัตถุคุ้มค่า โอนวัตถุที่เป็นชั้น POJO วิธี getter / Setter ง่ายๆก็คือ serializable จึงสามารถส่งผ่านทางเครือข่าย แต่ก็มีพฤติกรรมไม่ เซิร์ฟเวอร์ชั้นธุรกิจมักจะอ่านข้อมูลจากฐานข้อมูลแล้วกรอก POJO และส่งไปยังลูกค้าหรือผ่านมันไปด้วยค่า สำหรับลูกค้าวัตถุโอนอ่านอย่างเดียว ลูกค้าสามารถสร้างวัตถุขนส่งของตัวเองและผ่านมันไปยังเซิร์ฟเวอร์เพื่อปรับปรุงฐานข้อมูลในมูลค่าเพียงครั้งเดียว ต่อไปนี้เป็นนิติบุคคลของรูปแบบการออกแบบนี้

  • ธุรกิจวัตถุ (Object ธุรกิจ) - บริการข้อมูลการเติมวัตถุธุรกิจการขนส่ง
  • วัตถุ Transfer (วัตถุ Transfer) - เป็น POJO ธรรมดาชุดเท่านั้น / ได้รับวิธีการแอตทริบิวต์
  • ไคลเอนต์ (Client) - ลูกค้าสามารถส่งคำขอหรือส่งวัตถุส่งไปยังวัตถุธุรกิจ

การสำนึก

เราจะสร้างวัตถุธุรกิจเป็นStudentBOและเป็นวัตถุของStudentVO ส่งให้พวกเขาเป็นตัวแทนนิติบุคคลของเรา

TransferObjectPatternDemo ชั้นสาธิตของเราที่นี่เป็นลูกค้าจะใช้ในการแสดงให้เห็นถึงรูปแบบการออกแบบวัตถุStudentBOและรถรับส่งนักเรียน

รูปแบบวัตถุ Transfer แผนภาพ UML

ขั้นตอนที่ 1

สร้างวัตถุโอน

StudentVO.java

เรียนสาธารณะ StudentVO {
   ชื่อ String เอกชน
   ส่วนตัว int rollNo;

   StudentVO (ชื่อ String, int rollNo) {
      ชื่อ this.name =;
      this.rollNo = rollNo;
   }

   ประชาชน String 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 () + "ลบออกจากฐานข้อมูล");
   }

   // แปลจากฐานข้อมูลรายชื่อนักเรียนที่สาธารณะรายการ <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 คลาสที่สาธารณะ {
   ประชาชนเป็นโมฆะคง main (String 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, ชื่อ: ไมเคิล]