คำจำกัดความ: ใช้เพื่อลดความซับซ้อนของการสื่อสารระหว่างวัตถุและคลาสหลายรายการ รูปแบบสื่อกลางเป็นของรูปแบบพฤติกรรม
คุณสมบัติ:
1. ลดความซับซ้อนของชั้นเรียนและแปลงแบบหนึ่งต่อหลายเป็นแบบตัวต่อตัว
2. แยกแยะระหว่างชั้นเรียนต่าง ๆ
3. ปฏิบัติตามหลักการ Dimit
แอพพลิเคชั่นในการพัฒนาระดับองค์กรและเฟรมเวิร์กทั่วไป: C ในโหมด MVC
ตัวอย่างเฉพาะ:
การสาธิตคลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {mediator m = mediator ใหม่ (); แผนก D1 = แผนกใหม่ (M, "ฝ่ายพัฒนา"); แผนก D2 = แผนกใหม่ (M, "แผนกการเงิน"); แผนก D3 = แผนกใหม่ (M, "แผนกวางแผน"); m.add (d1, "dep"); m.add (d2, "fin"); M.Add (D3, "C"); d2.apply ("มีโครงการในมือที่จะพัฒนา", "dep"); d1.apply ("โครงการพัฒนาต้องการเงินทุน", "Fin"); d1.apply ("โครงการได้รับการพัฒนาและจำเป็นต้องมีการวางแผนและเผยแพร่", "c"); D3.Apply ("งานแถลงข่าวต้องใช้เงินทุน", "FIN"); }} แผนกคลาส {ชื่อสตริงส่วนตัว; ผู้ไกล่เกลี่ยส่วนตัว แผนกสาธารณะ (Mediator Mediator, ชื่อสตริง) {this.name = ชื่อ; this.mediator = mediator; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } โมฆะสาธารณะใช้ (String Thing, String contice) {system.out.println ("เราคือ"+this.getName ()+","+Thing+", ต้องการความช่วยเหลือ"); mediator.dispatch (สิ่งนี้, ประสานงาน); } มือจับโมฆะสาธารณะ (ชื่อสตริง, สตริงสิ่ง) {system.out.println ("เราคือ"+this.getName ()+","+name+"ต้องการความช่วยเหลือของเราเราจะจัดการกิจการของพวกเขาทันที"); System.out.println ("************************************************************************************************************************************************************* - - - - - - - *วัตถุตัวกลางถือวัตถุเพื่อนร่วมงานทั้งหมดและรับผิดชอบงานประสานงานการจัดตารางเวลาของแผนกต่างๆ*/คลาส Mediator {ชื่อสตริงส่วนตัว; แผนที่ส่วนตัว <สตริงแผนก> แผนที่ = ใหม่ hashmap <สตริงแผนก> (); โมฆะสาธารณะเพิ่ม (แผนก D, ชื่อสตริง) {this.map.put (ชื่อ, d); } การจัดส่งโมฆะสาธารณะ (แผนก DPT, String Thing, String contice) {แผนก d = map.get (พิกัด); d.handle (dpt.getName (), สิ่ง); -ความแตกต่างระหว่างโหมดตัวกลางและโหมดพร็อกซี: เมื่อฉันได้ยินครั้งแรกเกี่ยวกับโหมดของสองโหมดนี้ฉันรู้สึกว่าสองโหมดนี้ดูเหมือนจะเป็นโหมดเดียวกัน แต่สองโหมดนี้แตกต่างกันอย่างสิ้นเชิง โหมดพร็อกซีส่วนใหญ่ใช้เพื่อซ่อนวัตถุจริงและป้องกันไม่ให้ผู้อื่นรู้รายละเอียดการดำเนินการเฉพาะ โหมดตัวกลางส่วนใหญ่ใช้เพื่อการโต้ตอบที่ซับซ้อนของวัตถุหลาย ๆ วัตถุที่มีหลายวัตถุ เพื่อให้การโต้ตอบเหล่านี้ง่ายขึ้นโหมด Terminator ถูกพบ