นี่เป็นบทความสั้น ๆ เกี่ยวกับรูปแบบการออกแบบใน Java จะไม่มีการนำรูปแบบไปใช้ มีเพียงรายการรูปแบบที่มีอยู่ใน Java และเนื้อหาโดยย่อเท่านั้น มันจะมีประโยชน์สำหรับผู้ที่อยู่ในหัวข้อการทำซ้ำและการวางนัยทั่วไปอยู่แล้ว หรือในทางกลับกัน สำหรับผู้ที่เข้าหารูปแบบเป็นครั้งแรก - เพื่อภาพรวมของหัวข้อแรกสุดก่อนที่จะเจาะลึกลงไป รูปแบบการออกแบบ (เทมเพลตการออกแบบ) เป็นโซลูชันที่พร้อมใช้งานสำหรับปัญหาการเขียนโปรแกรมที่พบบ่อย นี่ไม่ใช่คลาสหรือไลบรารีที่สามารถเชื่อมต่อกับโปรเจ็กต์ได้ แต่เป็นอะไรที่มากกว่านั้น รูปแบบการออกแบบที่เหมาะสมกับงานจะถูกนำไปใช้ในแต่ละกรณีเฉพาะ ควรจำไว้ว่ารูปแบบดังกล่าวหากใช้ไม่ถูกต้องหรือผิดปัญหาอาจทำให้เกิดปัญหามากมายได้ อย่างไรก็ตามการใช้รูปแบบที่ถูกต้องจะช่วยแก้ปัญหาได้ง่ายและง่ายดาย ประเภทรูปแบบ :
- กำลังสร้าง
- โครงสร้าง
- เกี่ยวกับพฤติกรรม
- Singleton - จำกัดการสร้างหนึ่งอินสแตนซ์ของคลาสและให้สิทธิ์การเข้าถึงอ็อบเจ็กต์เดียวเท่านั้น
- โรงงาน - ใช้เมื่อเรามีคลาสซุปเปอร์ที่มีคลาสย่อยหลายคลาส และขึ้นอยู่กับอินพุต เราจำเป็นต้องส่งคืนคลาสหนึ่งจากคลาสย่อย
- โรงงานนามธรรม - ใช้โรงงานซุปเปอร์เพื่อสร้างโรงงาน จากนั้นใช้โรงงานที่สร้างขึ้นเพื่อสร้างวัตถุ
- ตัวสร้าง - ใช้เพื่อสร้างวัตถุที่ซับซ้อนโดยใช้วัตถุที่เรียบง่าย มันจะค่อยๆ สร้างวัตถุที่มีขนาดใหญ่ขึ้นจากวัตถุขนาดเล็กและเรียบง่าย
- ต้นแบบ - ช่วยในการสร้างวัตถุที่ซ้ำกันโดยมีประสิทธิภาพที่ดีขึ้น แทนที่จะสร้างวัตถุใหม่ โคลนที่ส่งคืนของวัตถุที่มีอยู่จะถูกสร้างขึ้น
- อะแดปเตอร์เป็นตัวแปลงระหว่างสองวัตถุที่เข้ากันไม่ได้ เมื่อใช้รูปแบบอะแดปเตอร์ เราสามารถรวมอินเทอร์เฟซที่เข้ากันไม่ได้สองรายการเข้าด้วยกัน
- คอมโพสิต - ใช้คลาสเดียวเพื่อแสดงโครงสร้างแบบต้นไม้
- พร็อกซี - แสดงถึงการทำงานของคลาสอื่น
- รุ่นฟลายเวท - แทนที่จะสร้างวัตถุที่คล้ายกันจำนวนมาก วัตถุจะถูกนำมาใช้ซ้ำ
- Facade - จัดเตรียมอินเทอร์เฟซที่เรียบง่ายสำหรับไคลเอนต์ และไคลเอนต์ใช้อินเทอร์เฟซเพื่อโต้ตอบกับระบบ
- Bridge - ทำให้คลาสที่เป็นรูปธรรมเป็นอิสระจากคลาสการใช้งานอินเทอร์เฟซ
- มัณฑนากร - เพิ่มฟังก์ชันการทำงานใหม่ให้กับวัตถุที่มีอยู่โดยไม่ต้องผูกมัดกับโครงสร้างของมัน
- วิธีการเทมเพลต - กำหนดพื้นฐานของอัลกอริธึมและอนุญาตให้ผู้สืบทอดสามารถกำหนดขั้นตอนบางอย่างของอัลกอริธึมใหม่โดยไม่ต้องเปลี่ยนโครงสร้างโดยรวม
- ผู้ไกล่เกลี่ย - จัดให้มีคลาสผู้ไกล่เกลี่ยที่จัดการการสื่อสารทั้งหมดระหว่างคลาสที่แตกต่างกัน
- ห่วงโซ่ความรับผิดชอบ - ช่วยให้คุณหลีกเลี่ยงการพึ่งพาผู้ส่งคำขอกับผู้รับอย่างเข้มงวดในขณะที่คำขอสามารถประมวลผลได้ด้วยวัตถุหลายชิ้น
- ผู้สังเกตการณ์ - อนุญาตให้วัตถุบางตัวตรวจสอบและตอบสนองต่อเหตุการณ์ที่เกิดขึ้นในวัตถุอื่น
- กลยุทธ์ - อัลกอริธึมกลยุทธ์สามารถเปลี่ยนแปลงได้ระหว่างการทำงานของโปรแกรม
- คำสั่ง - อินเทอร์เฟซคำสั่งประกาศวิธีการดำเนินการเฉพาะ
- สถานะ - วัตถุสามารถเปลี่ยนพฤติกรรมได้ขึ้นอยู่กับสถานะ
- ผู้เยี่ยมชม - ใช้เพื่อทำให้การดำเนินการจัดกลุ่มวัตถุที่เกี่ยวข้องง่ายขึ้น
- ล่าม - กำหนดไวยากรณ์ภาษาอย่างง่ายสำหรับโดเมนที่มีปัญหา
- ตัววนซ้ำ - เข้าถึงองค์ประกอบของวัตถุคอลเลกชันตามลำดับโดยไม่ทราบถึงการแสดงที่ซ่อนอยู่
- Memento (Keeper) - ใช้เพื่อจัดเก็บสถานะของวัตถุ สถานะนี้สามารถกู้คืนได้ในภายหลัง
GO TO FULL VERSION