Latest web development tutorials
×

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

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

设计模式其他

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

รูปแบบที่เป็นสื่อกลาง

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

การแนะนำ

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

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

เมื่อใช้: หลายชั้นเรียนควบคู่ไปกับแต่ละอื่น ๆ การสร้างโครงสร้างเครือข่าย

วิธีการแก้ไข: โครงสร้างเครือข่ายดังกล่าวข้างต้นถูกแยกออกเป็นโครงสร้างดาว

รหัสสำคัญ: การสื่อสารระหว่างเพื่อนร่วมงานวัตถุแค็ปซูลชั้นแยกต่างหาก

ตัวอย่างการใช้งาน: 1 ก่อนที่จะเข้าของจีนองค์การการค้าโลกการค้าต่างประเทศกับแต่ละอื่น ๆ โครงสร้างที่ซับซ้อนมันเป็นประเทศองค์การการค้าโลกการค้ากับแต่ละอื่น ๆ2 สนามบินระบบการตั้งเวลา 3 MVC กรอบที่ C (ควบคุม) เป็น M (Model) และ V (view) คนกลาง

ข้อดี: 1, ลดความซับซ้อนของการเรียนจะถูกแปลงเป็นแบบหนึ่งต่อหลาย2 แต่ละ decoupling ระหว่างเรียน 3 ซึ่งสอดคล้องกับหลักการของ Demeter

ข้อเสีย: โบรกเกอร์ขนาดใหญ่จะกลายเป็นความซับซ้อนและยากที่จะรักษา

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

หมายเหตุ: มันไม่ควรจะใช้เมื่อเกิดความสับสนความรับผิดชอบ

การสำนึก

ลองเดินผ่านรูปแบบตัวกลางเช่นห้องสนทนา ตัวอย่างเช่นผู้ใช้หลายคนสามารถส่งข้อความไปยังห้องสนทนาห้องแชทข้อความจะแสดงให้ผู้ใช้ทุกคนเราจะสร้างสองชั้นห้องสนทนาและผู้ใช้วัตถุผู้ใช้วิธีการที่ห้องสนทนาที่จะแบ่งปันข่าวของพวกเขา

MediatorPatternDemo เราแสดงให้เห็นถึงการใช้วัตถุชั้นผู้ใช้เพื่อแสดงการสื่อสารระหว่างพวกเขา

รูปแบบการไกล่เกลี่ยแผนภาพ UML

ขั้นตอนที่ 1

สร้างชั้นตัวกลาง

ChatRoom.java

นำเข้า java.util.Date;

ห้องสนทนาสาธารณะคุณภาพระดับ {
   ประชาชนเป็นโมฆะคง ShowMessage (ผู้ใช้ผู้ใช้ข้อความ String) {
      System.out.println (วันที่ใหม่. ToString () ()
         + "[" + User.getName () + "]:" ข้อความ +);
   }
}

ขั้นตอนที่ 2

สร้างชั้นเรียนผู้ใช้

User.java

ผู้ใช้ระดับสาธารณะ {
   ชื่อ String เอกชน

   ประชาชน String getName () {
      กลับชื่อ;
   }

   โมฆะสาธารณะ setName (ชื่อ String) {
      ชื่อ this.name =;
   }

   ผู้ใช้ที่สาธารณะ (ชื่อ String) {
      ชื่อ this.name =;
   }

   โมฆะสาธารณะ SendMessage (ข้อความ String) {
      ChatRoom.showMessage (นี้ข้อความ);
   }
}

ขั้นตอนที่ 3

ใช้วัตถุผู้ใช้เพื่อแสดงการสื่อสารระหว่างพวกเขา

MediatorPatternDemo.java

เรียนสาธารณะ MediatorPatternDemo {
   ประชาชนเป็นโมฆะคง main (String args []) {
      โรเบิร์ตผู้ใช้ = ผู้ใช้ใหม่ ( "โรเบิร์ต");
      ผู้ใช้จอห์น = ผู้ใช้ใหม่ ( "จอห์น");

      robert.sendMessage ( "สวัสดีจอห์น !!");
      john.sendMessage ( "สวัสดีโรเบิร์ต !!");
   }
}

ขั้นตอนที่ 4

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

พฤหัสบดีที่ 31 มกราคม 2013 16:05:46 IST [โรเบิร์ต] :! Hi จอห์น!
พฤหัสบดีที่ 31 มกราคม 2013 16:05:46 IST [จอห์น] :! สวัสดีโรเบิร์ต!