ภาพรวม
โหมดบริดจ์โมเดลโครงสร้างซึ่งส่วนใหญ่เกี่ยวข้องกับ: เนื่องจากความต้องการที่แท้จริงคลาสมีการเปลี่ยนแปลงสองมิติขึ้นไป หากการสืบทอดถูกใช้เพียงแค่ความต้องการนี้จะไม่สามารถทำได้หรือการออกแบบจะค่อนข้างป่อง
โหมดบริดจ์คือการเป็นนามธรรมชิ้นส่วนที่เปลี่ยนแปลงแยกชิ้นส่วนที่เปลี่ยนแปลงออกจากคลาสหลักดังนั้นจึงแยกการเปลี่ยนแปลงในหลายมิติอย่างสมบูรณ์ ในที่สุดคลาสการจัดการมีไว้เพื่อรวมการเปลี่ยนแปลงในมิติที่แตกต่างกันและชุดค่าผสมนี้ใช้เพื่อตอบสนองความต้องการของธุรกิจ
แผนภาพโครงสร้าง UML
ตัวอย่างรหัส
การสัมภาษณ์แบบแพ็คเกจ; edpitionor Interface {void OperationImpl ();} คลาสบทคัดย่อบทคัดย่อ {xpitionor edpitionor ที่ได้รับการป้องกัน; บทคัดย่อสาธารณะ (appitinor edpiticonsor) {this.implementor = appitinor; } การดำเนินการโมฆะสาธารณะ () {appitinor.operationimpl (); }} คลาส ConcreteImplementora ใช้ essagnedor {@Override public Void OperationImpl () {system.out.println ("การใช้งานเฉพาะ A"); }} คลาส ConcreteImplementorb ใช้ applementor {@Override โมฆะสาธารณะ public OperationImpl () {system.out.println ("การใช้งานเฉพาะ b"); }} คลาส RefinedAbStraction ขยายบทคัดย่อ {public RefinedAbStraction (appitinor edpiticationor) {super (appitinor); } โมฆะสาธารณะอื่น ๆ () {system.out.println ("การดำเนินการอื่น ๆ "); }} การบำรุงรักษาคลาสสาธารณะ {โมฆะสาธารณะคงที่หลัก (สตริง arg []) {appitinor appiticationor = ใหม่ concreteimplementora (); refinedAbstraction abstraction = new RefinedAbStraction (appitinor); abstraction.operation (); abstraction.otheroperation (); -ใช้สถานการณ์
1. หากคุณไม่ต้องการใช้ความสัมพันธ์ที่มีผลผูกพันคงที่ในส่วนที่เป็นนามธรรมและการใช้งานคุณสามารถใช้โหมดบริดจ์เพื่อแยกส่วนที่เป็นนามธรรมและการใช้งานแล้วตั้งค่าการใช้งานเฉพาะที่จำเป็นสำหรับการใช้งานในระหว่างการดำเนินการโปรแกรมและคุณยังสามารถเปลี่ยนการใช้งานเฉพาะ
2. หากทั้งส่วนนามธรรมและส่วนการใช้งานควรจะสามารถขยายได้โหมดบริดจ์สามารถใช้เพื่อให้ส่วนนามธรรมและส่วนการใช้งานสามารถเปลี่ยนแปลงได้อย่างอิสระเพื่อให้การขยายตัวสามารถขยายได้อย่างยืดหยุ่นแยกกัน ด้านหนึ่งของการขยายตัวอาจส่งผลกระทบต่ออีกด้านหนึ่ง
3. หากคุณต้องการใช้การดัดแปลงบางส่วนจะไม่ส่งผลกระทบต่อลูกค้า คุณสามารถใช้โหมดบริดจ์ ลูกค้ากำลังเรียกใช้อินเทอร์เฟซเชิงนามธรรม การปรับเปลี่ยนบางส่วนอาจเป็นอิสระจากส่วนนามธรรมและจะไม่ส่งผลกระทบต่อลูกค้า นอกจากนี้ยังสามารถกล่าวได้ว่ามีความโปร่งใสกับลูกค้า
4. หากมีการนำรูปแบบการใช้งานที่สืบทอดมาใช้จะมีการสร้างคลาสย่อยจำนวนมาก สำหรับกรณีนี้คุณสามารถพิจารณาใช้โหมดบริดจ์เพื่อวิเคราะห์สาเหตุของการเปลี่ยนแปลงในฟังก์ชั่นเพื่อดูว่าพวกเขาสามารถแยกออกเป็นมิติที่แตกต่างกันแล้วแยกออกผ่านโหมดบริดจ์เพื่อลดจำนวนคลาสย่อย
หากระบบต้องการเพิ่มความยืดหยุ่นมากขึ้นระหว่างบทบาทนามธรรมที่สร้างขึ้นและบทบาทที่เป็นรูปธรรมให้หลีกเลี่ยงการสร้างการเชื่อมต่อแบบคงที่ระหว่างสองระดับ
ทั้งอักขระนามธรรมและอักขระคอนกรีตควรจะสามารถเป็นแบบย่อยได้ ในกรณีนี้รูปแบบบริดจ์สามารถรวมบทบาทนามธรรมและคอนกรีตที่แตกต่างกันได้อย่างยืดหยุ่นและขยายอย่างอิสระ
การเปลี่ยนแปลงใด ๆ ในการออกแบบต้องการให้บทบาทการใช้งานไม่ควรส่งผลกระทบต่อลูกค้าหรือว่าการเปลี่ยนแปลงบทบาทการดำเนินการมีความโปร่งใสอย่างสมบูรณ์ต่อลูกค้า
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น