Latest web development tutorials
×

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

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

设计模式其他

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

โหมดแม่แบบ

ในโหมดแม่แบบ (แบบ Template) และระดับนามธรรมที่กำหนดวิธีการที่จะดำเนินการได้เปิดเผยวิธีการ / แม่แบบ subclasses มันต้องแทนที่วิธีการที่จะประสบความสำเร็จ แต่จะเรียกว่าระดับนามธรรมจะถูกกำหนด ประเภทของรูปแบบการออกแบบนี้เป็นรูปแบบพฤติกรรม

การแนะนำ

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

โซลูชั่นหลัก: บางวิธีการทั่วไป แต่ในแต่ละชั้นย่อยใหม่เขียนวิธีการนี้

เมื่อใช้: มีบางวิธีการทั่วไป

วิธีการแก้ปัญหาเหล่านี้ขั้นตอนวิธีการทั่วไปใจลอย

รหัสสำคัญ: ระดับนามธรรมดำเนินการขั้นตอนต่างๆในการดำเนินการชั้นย่อย

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

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

ข้อเสีย: แต่ละของการใช้งานที่แตกต่างกันต้อง subclass เพื่อให้บรรลุผลในการเพิ่มจำนวนของการเรียนที่ทำให้ระบบมากขึ้น

สถานการณ์การใช้งาน: 1, วิธีการหลายชั้นย่อยทั่วไปและตรรกะเดียวกัน2 สิ่งที่สำคัญวิธีการที่ซับซ้อนถือได้ว่าเป็นวิธีการที่แม่แบบ

หมายเหตุ: เพื่อป้องกันการกระทำที่เป็นอันตรายควบคู่กับวิธีการที่แม่แบบทั่วไปคือคำหลักสุดท้าย

การสำนึก

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

TemplatePatternDemo เราแสดงให้เห็นถึงการใช้งานของระดับเกมที่จะแสดงให้เห็นถึงการใช้รูปแบบแม่แบบ

รูปแบบแม่แบบแผนภาพ UML

ขั้นตอนที่ 1

สร้างระดับนามธรรมวิธีแม่แบบจะถูกกำหนดเป็นขั้นสุดท้าย

Game.java

เกมระดับนามธรรมสาธารณะ {
   นามธรรมเป็นโมฆะเริ่มต้น ();
   นามธรรมเป็นโมฆะ startPlay ();
   นามธรรมเป็นโมฆะ endPlay ();

   // แม่แบบสาธารณะเล่นเป็นโมฆะสุดท้าย () {

      // เริ่มต้นเกมเริ่มต้น ();

      // เริ่มเกม startPlay ();

      // End เกม endPlay ();
   }
}

ขั้นตอนที่ 2

สร้างขยายชั้นเรียนนิติบุคคลดังกล่าวข้างต้นระดับ

Cricket.java

คริกเก็ตระดับสาธารณะขยายเกม {

   @Override
   เป็นโมฆะ endPlay () {
      System.out.println ( "คริกเก็ตเกมเสร็จสิ้น!");
   }

   @Override
   เริ่มต้นเป็นโมฆะ () {
      System.out.println ( "! คริกเก็ตเกมเริ่มต้นเริ่มต้นเล่น.");
   }

   @Override
   เป็นโมฆะ startPlay () {
      System.out.println ( "คริกเก็ตเกมเริ่มสนุกกับเกม.!");
   }
}

Football.java

ฟุตบอลระดับสาธารณะขยายเกม {

   @Override
   เป็นโมฆะ endPlay () {
      System.out.println ( "เกมฟุตบอลเสร็จสิ้น!");
   }

   @Override
   เริ่มต้นเป็นโมฆะ () {
      System.out.println ( "! เกมฟุตบอลเริ่มต้นเริ่มต้นเล่น.");
   }

   @Override
   เป็นโมฆะ startPlay () {
      System.out.println ( "ฟุตบอลเกมเริ่มสนุกกับเกม.!");
   }
}

ขั้นตอนที่ 3

เกมโดยใช้วิธีการเล่นแม่แบบ() เพื่อแสดงให้เห็นถึงเกมที่กำหนดไว้

TemplatePatternDemo.java

TemplatePatternDemo คลาสที่สาธารณะ {
   ประชาชนเป็นโมฆะคง main (String args []) {

      เกมคริกเก็ตใหม่ = ();
      game.play ();
      System.out.println ();
      เกมฟุตบอล = ใหม่ ();
      game.play ();		
   }
}

ขั้นตอนที่ 4

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

เกมคริกเก็ตเริ่มต้นได้! เริ่มเล่น
เริ่มเกมคริกเก็ต. สนุกกับเกม!
เสร็จแล้วคริกเก็ตเกม!

เกมฟุตบอลเริ่มต้นได้! เริ่มเล่น
เกมฟุตบอลเริ่มต้น. สนุกกับเกม!
เสร็จสิ้นเกมฟุตบอล!