JavaRush /จาวาบล็อก /Random-TH /รูปแบบการออกแบบใน Java [ตอนที่ 1]
Ivan Zaitsev
ระดับ
Киев

รูปแบบการออกแบบใน Java [ตอนที่ 1]

เผยแพร่ในกลุ่ม
นี่เป็นบทความสั้น ๆ เกี่ยวกับรูปแบบการออกแบบใน Java จะไม่มีการนำรูปแบบไปใช้ มีเพียงรายการรูปแบบที่มีอยู่ใน Java และเนื้อหาโดยย่อเท่านั้น มันจะมีประโยชน์สำหรับผู้ที่อยู่ในหัวข้อการทำซ้ำและการวางนัยทั่วไปอยู่แล้ว หรือในทางกลับกัน สำหรับผู้ที่เข้าหารูปแบบเป็นครั้งแรก - เพื่อภาพรวมของหัวข้อแรกสุดก่อนที่จะเจาะลึกลงไป รูปแบบการออกแบบ (เทมเพลตการออกแบบ) เป็นโซลูชันที่พร้อมใช้งานสำหรับปัญหาการเขียนโปรแกรมที่พบบ่อย นี่ไม่ใช่คลาสหรือไลบรารีที่สามารถเชื่อมต่อกับโปรเจ็กต์ได้ แต่เป็นอะไรที่มากกว่านั้น รูปแบบการออกแบบที่เหมาะสมกับงานจะถูกนำไปใช้ในแต่ละกรณีเฉพาะ ควรจำไว้ว่ารูปแบบดังกล่าวหากใช้ไม่ถูกต้องหรือผิดปัญหาอาจทำให้เกิดปัญหามากมายได้ อย่างไรก็ตามการใช้รูปแบบที่ถูกต้องจะช่วยแก้ปัญหาได้ง่ายและง่ายดาย รูปแบบการออกแบบใน Java [ตอนที่ 1] - 1ประเภทรูปแบบ :
  • กำลังสร้าง
  • โครงสร้าง
  • เกี่ยวกับพฤติกรรม
รูปแบบการสร้างมีกลไกการเริ่มต้น ช่วยให้คุณสร้างอ็อบเจ็กต์ได้อย่างสะดวก รูปแบบโครงสร้างจะกำหนดความสัมพันธ์ระหว่างคลาสและอ็อบเจ็กต์ เพื่อให้สามารถทำงานร่วมกันได้ รูปแบบพฤติกรรมใช้เพื่ออำนวยความสะดวกในการมีปฏิสัมพันธ์ระหว่างเอนทิตี เครื่องกำเนิดไฟฟ้า :
  • Singleton - จำกัดการสร้างหนึ่งอินสแตนซ์ของคลาสและให้สิทธิ์การเข้าถึงอ็อบเจ็กต์เดียวเท่านั้น
  • โรงงาน - ใช้เมื่อเรามีคลาสซุปเปอร์ที่มีคลาสย่อยหลายคลาส และขึ้นอยู่กับอินพุต เราจำเป็นต้องส่งคืนคลาสหนึ่งจากคลาสย่อย
  • โรงงานนามธรรม - ใช้โรงงานซุปเปอร์เพื่อสร้างโรงงาน จากนั้นใช้โรงงานที่สร้างขึ้นเพื่อสร้างวัตถุ
  • ตัวสร้าง - ใช้เพื่อสร้างวัตถุที่ซับซ้อนโดยใช้วัตถุที่เรียบง่าย มันจะค่อยๆ สร้างวัตถุที่มีขนาดใหญ่ขึ้นจากวัตถุขนาดเล็กและเรียบง่าย
  • ต้นแบบ - ช่วยในการสร้างวัตถุที่ซ้ำกันโดยมีประสิทธิภาพที่ดีขึ้น แทนที่จะสร้างวัตถุใหม่ โคลนที่ส่งคืนของวัตถุที่มีอยู่จะถูกสร้างขึ้น
โครงสร้าง :
  • อะแดปเตอร์เป็นตัวแปลงระหว่างสองวัตถุที่เข้ากันไม่ได้ เมื่อใช้รูปแบบอะแดปเตอร์ เราสามารถรวมอินเทอร์เฟซที่เข้ากันไม่ได้สองรายการเข้าด้วยกัน
  • คอมโพสิต - ใช้คลาสเดียวเพื่อแสดงโครงสร้างแบบต้นไม้
  • พร็อกซี - แสดงถึงการทำงานของคลาสอื่น
  • รุ่นฟลายเวท - แทนที่จะสร้างวัตถุที่คล้ายกันจำนวนมาก วัตถุจะถูกนำมาใช้ซ้ำ
  • Facade - จัดเตรียมอินเทอร์เฟซที่เรียบง่ายสำหรับไคลเอนต์ และไคลเอนต์ใช้อินเทอร์เฟซเพื่อโต้ตอบกับระบบ
  • Bridge - ทำให้คลาสที่เป็นรูปธรรมเป็นอิสระจากคลาสการใช้งานอินเทอร์เฟซ
  • มัณฑนากร - เพิ่มฟังก์ชันการทำงานใหม่ให้กับวัตถุที่มีอยู่โดยไม่ต้องผูกมัดกับโครงสร้างของมัน
พฤติกรรม :
  • วิธีการเทมเพลต - กำหนดพื้นฐานของอัลกอริธึมและอนุญาตให้ผู้สืบทอดสามารถกำหนดขั้นตอนบางอย่างของอัลกอริธึมใหม่โดยไม่ต้องเปลี่ยนโครงสร้างโดยรวม
  • ผู้ไกล่เกลี่ย - จัดให้มีคลาสผู้ไกล่เกลี่ยที่จัดการการสื่อสารทั้งหมดระหว่างคลาสที่แตกต่างกัน
  • ห่วงโซ่ความรับผิดชอบ - ช่วยให้คุณหลีกเลี่ยงการพึ่งพาผู้ส่งคำขอกับผู้รับอย่างเข้มงวดในขณะที่คำขอสามารถประมวลผลได้ด้วยวัตถุหลายชิ้น
  • ผู้สังเกตการณ์ - อนุญาตให้วัตถุบางตัวตรวจสอบและตอบสนองต่อเหตุการณ์ที่เกิดขึ้นในวัตถุอื่น
  • กลยุทธ์ - อัลกอริธึมกลยุทธ์สามารถเปลี่ยนแปลงได้ระหว่างการทำงานของโปรแกรม
  • คำสั่ง - อินเทอร์เฟซคำสั่งประกาศวิธีการดำเนินการเฉพาะ
  • สถานะ - วัตถุสามารถเปลี่ยนพฤติกรรมได้ขึ้นอยู่กับสถานะ
  • ผู้เยี่ยมชม - ใช้เพื่อทำให้การดำเนินการจัดกลุ่มวัตถุที่เกี่ยวข้องง่ายขึ้น
  • ล่าม - กำหนดไวยากรณ์ภาษาอย่างง่ายสำหรับโดเมนที่มีปัญหา
  • ตัววนซ้ำ - เข้าถึงองค์ประกอบของวัตถุคอลเลกชันตามลำดับโดยไม่ทราบถึงการแสดงที่ซ่อนอยู่
  • Memento (Keeper) - ใช้เพื่อจัดเก็บสถานะของวัตถุ สถานะนี้สามารถกู้คืนได้ในภายหลัง
ในขณะที่เรียนหลักสูตร JavaRush คุณจะเจอรูปแบบสองสามรูปแบบจากรายการนี้ ฉันขอแนะนำปัญหาเกี่ยวกับรูปแบบ: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... การใช้รูปแบบการออกแบบอย่างชาญฉลาดนำไปสู่ความน่าเชื่อถือในการบำรุงรักษาโค้ดที่เพิ่มขึ้น เนื่องจากนอกเหนือจากการเป็นทางออกที่ดีสำหรับปัญหาทั่วไปแล้ว รูปแบบการออกแบบยังสามารถรับรู้ได้ด้วย นักพัฒนารายอื่น ซึ่งจะช่วยลดเวลาในการทำงานกับโค้ดบางตัว รูปแบบการออกแบบใน Java [ตอนที่ 2]
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION