บทความนี้อธิบายถึงโหมดพร็อกซีแบบคงที่ของรูปแบบการออกแบบ Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
ในโหมดพร็อกซีการดำเนินการอื่น ๆ สามารถแนบกับพื้นฐานดั้งเดิมผ่านพร็อกซี โหมดพร็อกซีแบบคงที่ค่อนข้างง่ายและไม่จำเป็นต้องมีพร็อกซีแบบไดนามิกเมื่อโปรแกรมทำงานอยู่
บทบาทของโหมดพร็อกซีแบบคงที่:
①บทบาทนามธรรม: อินเทอร์เฟซทั่วไประหว่างวัตถุจริงและวัตถุพร็อกซี สิ่งที่ต้องทำในการประกาศวัตถุจริงและวัตถุพร็อกซี
②บทบาทที่แท้จริง: ใช้บทบาทนามธรรมกำหนดตรรกะทางธุรกิจที่จะดำเนินการโดยบทบาทที่แท้จริงและถูกเรียกโดยบทบาทพร็อกซี
③บทบาทตัวแทน: ใช้บทบาทนามธรรมเป็นตัวแทนของบทบาทจริงใช้วิธีการนามธรรมผ่านวิธีตรรกะทางธุรกิจของบทบาทจริงและสามารถแนบการดำเนินงานของตนเอง
นี่คือรหัสตัวอย่างง่ายๆสำหรับตัวแทนรอ:
1. บทคัดย่อบทบาท : อินเทอร์เฟซทั่วไประหว่างวัตถุจริงและวัตถุพร็อกซี สิ่งที่ต้องทำในการประกาศวัตถุจริงและวัตถุพร็อกซี
แพ็คเกจ com.tydic.proxy;/** * อินเทอร์เฟซทั่วไประหว่างบทบาทจริงและพร็อกซี * @author ผู้ดูแลระบบ * */บทคัดย่อคลาสสาธารณะเรื่อง {// วัตถุที่แท้จริงและพร็อกซีต้องทำคำขอโมฆะนามธรรมสาธารณะ ();};};2. บทบาทที่แท้จริง : ต้องดำเนินการบทบาทนามธรรมซึ่งเป็นวัตถุที่จะพร็อกซี
แพ็คเกจ com.tydic.proxy;/** * บทบาทจริง * @author Administrator * */คลาสสาธารณะ RealSubject ขยายหัวเรื่อง {@Override Public Void Request () {System.out.println ("จากเรื่องจริง!"); -3. บทบาทตัวแทน : ใช้บทบาทที่เป็นนามธรรมและมีการอ้างอิงถึงบทบาทที่แท้จริง
แพ็คเกจ com.tydic.proxy;/** * บทบาทพร็อกซี * @author ผู้ดูแลระบบ * */คลาสสาธารณะ proxysubject ขยายหัวเรื่อง {ส่วนตัว realsubject realsubject; // บทบาทที่แท้จริงถูกอ้างอิงภายในโดยบทบาทพร็อกซี @override realsubject (); } realsubject.request (); // สิ่งที่เสร็จสมบูรณ์โดยบทบาทจริง this.postrequest (); // การดำเนินการที่แนบมาหลังจากการดำเนินการวัตถุจริง} โมฆะส่วนตัว prearequest () {system.out.println ("คำขอก่อน!"); } โมฆะส่วนตัว postrequest () {system.out.println ("คำขอโพสต์!"); -4. เขียนรหัสไคลเอนต์
แพ็คเกจ com.tydic.proxy; ไคลเอนต์คลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {หัวเรื่องหัวเรื่อง = new proxysubject (); หัวเรื่อง. request (); -สำหรับเนื้อหาที่เกี่ยวข้องกับ Java ผู้อ่านที่สนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "บทนำและการสอนขั้นสูงเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ Java", "การสอนเกี่ยวกับโครงสร้างข้อมูล Java และอัลกอริทึม" สรุปการดำเนินงานของ Java
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน