บทช่วยสอน โหมดพร็อกซี่ ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ การแนะนำ,การสำนึก,
ในโหมดพร็อกซี่ (ลายพร็อกซี) ชั้นเรียนของฟังก์ชั่นในนามของชั้นอื่น ประเภทของรูปแบบการออกแบบนี้เป็นรูปแบบโครงสร้าง
ในโหมดพร็อกซี่ที่เราสร้างวัตถุกับวัตถุที่มีอยู่ในการสั่งซื้อเพื่อให้อินเตอร์เฟซที่ใช้งานได้กับโลกภายนอก
เจตนา: เพื่อให้เป็นตัวแทนในการควบคุมการเข้าถึงวัตถุนี้วัตถุอื่น ๆ
มติหลัก: การเข้าถึงโดยตรงไปยังวัตถุที่ก่อให้เกิดปัญหาเช่นวัตถุที่คุณต้องการเข้าถึงบนเครื่องระยะไกลในระบบเชิงวัตถุวัตถุบางอย่างด้วยเหตุผลบางอย่าง (เช่นสร้างวัตถุที่มีราคาแพงหรือการกระทำบางอย่างจำเป็นต้องควบคุมความปลอดภัยหรือการเข้าถึงนอกกระบวนการ) ก็จะให้ผู้ใช้สามารถเข้าถึงโดยตรงกับการกำหนดค่าระบบหรือเปลืองใจ, เราสามารถเพิ่มชั้นการเข้าถึงวัตถุนี้ในช่วงเวลาของการเข้าถึงวัตถุนี้
เมื่อใช้: เมื่อคุณต้องการที่จะทำบางสิ่งบางอย่างเพื่อควบคุมการเข้าถึงชั้นเรียน
วิธีการแก้ไข: เพิ่มชั้นกลาง
คีย์รหัส: การเชื่อมโยงกับชุดชั้นพร็อกซี่
ตัวอย่างการใช้งาน: 1, Windows ลัดภายใน2 หมูไปเปลี่ยนแปลงผลลิง Cuilan สูงสามารถเข้าใจได้: ลักษณะ Cuilan สูงใจลอยสูงมีสีเขียวขุ่นสีฟ้าผมและลิงใช้อินเตอร์เฟซนี้หมูเข้าถึง Cuilan สูงเมื่อไม่เห็นพระมหากษัตริย์ลิงเพื่อให้ Monkey King เป็น Cuilan สูง ระดับพร็อกซี่ 3 ไม่จำเป็นต้องซื้อตั๋วรถไฟที่สถานีที่จะซื้อคุณยังสามารถไปที่ร้านค้า 4 การตรวจสอบหรือใบรับรองของเงินฝากธนาคารเป็นเงินในบัญชีพร็อกซี่ การทำธุรกรรมตรวจสอบในตลาดที่มีการใช้แทนเงินสดและให้การควบคุมบัญชีทุนของ บริษัท ผู้ออกหลักทรัพย์ 5 AOP ฤดูใบไม้ผลิ
ข้อดี: 1, ความรับผิดชอบที่ชัดเจน2 ความยืดหยุ่นสูง 3, ฉลาด
ข้อเสีย: 1 เช่นระหว่างลูกค้าและรูปแบบที่แท้จริงว่าวัตถุพร็อกซี่เพื่อให้ชนิดของโหมดพร็อกซี่บางคนอาจส่งผลให้เกิดการร้องขอการประมวลผลความเร็วช้าลง2 เพื่อให้บรรลุโหมดพร็อกซี่ต้องทำงานเพิ่มเติมเพื่อให้บรรลุโหมดพร็อกซี่บางอย่างที่ซับซ้อนมาก
สถานการณ์การใช้งาน: ตามการแบ่งความรับผิดชอบมักจะมีสถานการณ์การใช้งานดังต่อไปนี้: 1, ตัวแทนระยะไกล2. การแจ้งเตือน 3 ตัวแทนคัดลอกบนเขียน 4, การป้องกัน (ป้องกันหรือ Access) ตัวแทน 5 ตัวแทนแคช 6 ไฟร์วอลล์ (Firewall) ตัวแทน 7 โครไนซ์ (Synchronization) ตัวแทน 8 อ้างอิงอัจฉริยะ (Smart อ้างอิง) ตัวแทน
หมายเหตุ: ความแตกต่างระหว่าง 1 และอะแดปเตอร์โหมด: การเปลี่ยนแปลงที่สำคัญรูปแบบอะแดปเตอร์ไตร่ตรองอินเตอร์เฟซของวัตถุและโหมดพร็อกซี่ไม่สามารถเปลี่ยนแปลงได้โดยตัวแทนของอินเตอร์เฟซชั้นเรียนความแตกต่างระหว่าง 2 และมัณฑนากรรูปแบบ: มัณฑนากรในการเพิ่มประสิทธิภาพการทำงานและโหมดพร็อกซี่คือการได้รับการควบคุม
เราจะสร้างภาพอินเตอร์เฟซและการดำเนินงานของอินเตอร์เฟซภาพเรียนนิติบุคคลProxyImage เป็นชั้นพร็อกซี่ลดวัตถุรอยหน่วยความจำRealImageโหลด
ProxyPatternDemo เราแสดงให้เห็นถึงการใช้งานของระดับProxyImageที่จะได้รับภาพวัตถุที่จะโหลดและแสดงผลตามความต้องการ
สร้างอินเตอร์เฟซ
Image.java
อินเตอร์เฟซที่สาธารณะภาพ { จอแสดงผลเป็นโมฆะ (); }
สร้างคลาสนิติบุคคลที่ใช้อินเตอร์เฟซ
RealImage.java
เรียนสาธารณะ RealImage ใช้ภาพ { ชื่อไฟล์ String เอกชน RealImage สาธารณะ (String fileName) { this.fileName = ชื่อไฟล์; loadFromDisk (ชื่อไฟล์); } @Override จอแสดงผลโมฆะสาธารณะ () { System.out.println ( "แสดง" + fileName); } เป็นโมฆะ loadFromDisk ส่วนตัว (String fileName) { System.out.println ( "โหลด" + fileName); } }
ProxyImage.java
เรียนสาธารณะ ProxyImage ใช้ภาพ { ส่วนตัว RealImage realImage; ชื่อไฟล์ String เอกชน ProxyImage สาธารณะ (String fileName) { this.fileName = ชื่อไฟล์; } @Override จอแสดงผลโมฆะสาธารณะ () { ถ้า (realImage == null) { realImage = ใหม่ RealImage (ชื่อไฟล์); } realImage.display (); } }
เมื่อมีการร้องขอใช้ProxyImageที่จะได้รับวัตถุชั้นRealImage
ProxyPatternDemo.java
เรียนสาธารณะ ProxyPatternDemo { ประชาชนเป็นโมฆะคง main (String args []) { ภาพภาพ = ProxyImage ใหม่ ( "test_10mb.jpg"); // โหลดภาพจาก image.display ดิสก์ (); System.out.println ( ""); // แสดงสินค้าไม่สามารถโหลดได้จาก image.display ดิสก์ (); } }
ตรวจสอบการส่งออก
กำลังโหลด test_10mb.jpg แสดง test_10mb.jpg แสดง test_10mb.jpg