Latest web development tutorials
×

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

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

设计模式其他

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

สะพานโหมด

สะพาน (สะพาน) ถูกนำมาใช้เพื่อให้บรรลุ decoupling และนามธรรมเพื่อให้ทั้งสองสามารถแตกต่างกันได้อย่างอิสระ ประเภทของรูปแบบการออกแบบนี้เป็นรูปแบบโครงสร้างโดยการให้สิ่งที่เป็นนามธรรมที่มีโครงสร้างและการเชื่อมโยงระหว่างคนทั้งสองเพื่อให้บรรลุ decoupling

รุ่นนี้จะเกี่ยวข้องกับการเป็นอินเตอร์เฟซที่ช่วยให้การเชื่อมโยงที่เป็นอิสระนิติบุคคลของประเภทของระดับอินเตอร์เฟซที่ฟังก์ชั่น ทั้งสองประเภทของการเรียนจะมีโครงสร้างการเปลี่ยนแปลงและมีผลต่อกัน

เราจากตัวอย่างต่อไปนี้แสดงให้เห็นถึงโหมดสะพาน (สะพานแบบ) การใช้งาน ซึ่งคุณสามารถใช้วิธีการเดียวกัน แต่คลาสนามธรรมที่แตกต่างกันการแก้ระดับการดำเนินงานเพื่อวาดวงกลมของสีที่แตกต่างกัน

การแนะนำ

เจตนา: นามธรรมและการดำเนินการเป็นส่วนหนึ่งของการแยกเพื่อให้พวกเขาสามารถแตกต่างกันได้อย่างอิสระ

โซลูชั่นหลัก: ในความหลากหลายของสถานการณ์ที่อาจมีการเปลี่ยนแปลงมรดกระดับสามารถทำให้เกิดการระเบิดก็ไม่ได้ขยายตัวที่มีความยืดหยุ่น

เมื่อใช้: การใช้ระบบการจัดหมวดหมู่อาจมีมุมหลายมุมแต่ละอาจมีการเปลี่ยนแปลง

วิธีการแก้ไข: ใส่นี้การจัดหมวดหมู่หลายมุมแยกออกจากกันเพื่อให้พวกเขามีความเป็นอิสระของการเปลี่ยนแปลงลดการมีเพศสัมพันธ์ระหว่างพวกเขา

รหัสสำคัญ: การดำเนินงานระดับนามธรรมระดับขึ้น

ตัวอย่างการใช้งาน: 1, เกิดจากหมูหมูจอมพลหลังคาวิญญาณวิญญาณของกลไกของโลกถูกแบ่งออกเป็นสองระดับคือ: จิตวิญญาณและร่างกายอดีตสอดคล้องกับสิ่งที่เป็นนามธรรมซึ่งเทียบเท่ากับว่าสิ่งมีชีวิตโดยฟังก์ชั่นการมอบหมายวัตถุทางกายภาพฟังก์ชั่นการโทรสิ่งมีชีวิตดังกล่าวสามารถเลือกแบบไดนามิก 2 สวิทช์บนผนังที่คุณสามารถดูสวิทช์เป็นนามธรรมไม่ใช่ท่อคอนกรีตภายในวิธีการเพื่อให้บรรลุ

ข้อดี: 1, นามธรรมและเกิดการแยก2 การขยายขนาดที่ดีเยี่ยม 3 รายละเอียดการดำเนินโปร่งใสให้กับลูกค้า

ข้อเสีย: การแนะนำของโหมดสะพานจะเพิ่มความยากลำบากของความเข้าใจและการออกแบบของระบบความสัมพันธ์ของพอลิเมอที่สร้างขึ้นบนชั้น abstraction ที่ต้องการนักพัฒนาสำหรับการออกแบบที่เป็นนามธรรมและการเขียนโปรแกรม

สถานการณ์การใช้งาน: 1, ถ้าระบบถูกต้องระหว่างนามธรรมและเป็นสมาชิกบทบาทที่เป็นรูปธรรมของบทบาทในการเพิ่มความยืดหยุ่นมากขึ้นเพื่อหลีกเลี่ยงการสร้างการเชื่อมโยงมรดกคงที่ระหว่างสองระดับผ่านโหมดสะพานเพื่อให้พวกเขา Abstraction Layer สร้างความสัมพันธ์2 สำหรับผู้ที่ไม่ต้องการที่จะใช้ระบบเป็นมรดกหลายระดับหรือมรดกนำไปสู่การเพิ่มมากขึ้นในจำนวนของชั้นเรียนระบบโหมดสะพานโดยเฉพาะอย่างยิ่งที่ใช้บังคับ 3 ชั้นเรียนมีสองมิติที่เป็นอิสระของการเปลี่ยนแปลงและสิ่งเหล่านี้สองมิติจะต้องมีการขยายตัว

หมายเหตุ: สำหรับการเปลี่ยนแปลงของสองมิติอิสระใช้โหมดสะพานง่ายที่จะทำ

การสำนึก

เราได้เป็นสะพานอินเตอร์เฟซDrawAPIและดำเนินการอินเตอร์เฟซDrawAPIRedCircle ระดับนิติบุคคล GreenCircleรูปร่างเป็นระดับนามธรรมวัตถุใช้DrawAPIBridgePatternDemo เรียนสาธิตของเราใช้คลาสรูปร่างเพื่อวาดวงกลมสีที่แตกต่างกัน

โหมดสะพานแผนภาพ UML

ขั้นตอนที่ 1

สร้างสะพานที่ใช้อินเตอร์เฟซที่

DrawAPI.java

DrawAPI อินเตอร์เฟซที่สาธารณะ {
   โมฆะสาธารณะ drawCircle (int รัศมี int x, int y);
}

ขั้นตอนที่ 2

สร้างการดำเนินกิจการที่เชื่อมโยงการดำเนินงานของDrawAPIระดับอินเตอร์เฟซ

RedCircle.java

เรียนสาธารณะ RedCircle ดำเนิน DrawAPI {
   @Override
   โมฆะสาธารณะ drawCircle (int รัศมี int x, int y) {
      System.out.println ( "การวาดวงกลม [สี: สีแดง, รัศมี"
         + รัศมี + "X" + X + "" + Y + "]");
   }
}

GreenCircle.java

เรียนสาธารณะ GreenCircle ดำเนิน DrawAPI {
   @Override
   โมฆะสาธารณะ drawCircle (int รัศมี int x, int y) {
      System.out.println ( "การวาดวงกลม [สี: สีเขียว, รัศมี"
         + รัศมี + "X" + X + "" + Y + "]");
   }
}

ขั้นตอนที่ 3

DrawAPIใช้อินเตอร์เฟซในการสร้างรูปร่างระดับนามธรรม

Shape.java

รูปร่างระดับนามธรรมสาธารณะ {
   การป้องกัน DrawAPI drawAPI;
   รูปร่างที่มีการป้องกัน (DrawAPI drawAPI) {
      this.drawAPI = drawAPI;
   }
   ประชาชนที่เป็นนามธรรมเป็นโมฆะวาด ();	
}

ขั้นตอนที่ 4

สร้างคลาสนิติบุคคลดำเนินการติดต่อรูปร่าง

Circle.java

วงกลมชั้นสาธารณะขยายรูปร่าง {
   int ส่วนตัว x, y, รัศมี;

   วงกลมสาธารณะ (int x, int Y, int รัศมี DrawAPI drawAPI) {
      เปอร์ (drawAPI);
      this.x = x;  
      this.y y =;  
      this.radius = รัศมี;
   }

   วาดโมฆะสาธารณะ () {
      drawAPI.drawCircle (รัศมี x, y);
   }
}

ขั้นตอนที่ 5

การใช้คลาสรูปร่างและDrawAPI วาดวงกลมสีที่แตกต่างกัน

BridgePatternDemo.java

BridgePatternDemo คลาสที่สาธารณะ {
   ประชาชนเป็นโมฆะคง main (String args []) {
      รูปร่าง RedCircle = แวดวงใหม่ (100,100, 10, RedCircle ใหม่ ());
      รูปร่าง greenCircle = แวดวงใหม่ (100,100, 10, GreenCircle ใหม่ ());

      redCircle.draw ();
      greenCircle.draw ();
   }
}

ขั้นตอนที่ 6

ตรวจสอบการส่งออก

การวาดวงกลม [สี: สีแดง, รัศมี: 10 x 100, 100]
การวาดวงกลม [สี: สีเขียว, รัศมี: 10 x 100, 100]