โหมดพื้นฐาน:
1. รูปแบบอินเทอร์เฟซ: เมื่อหลายคลาสให้บริการที่คล้ายกัน ผ่านรูปแบบอินเทอร์เฟซ บริการทั่วไปที่จัดให้โดยคลาสผู้ให้บริการที่แตกต่างกันสามารถสรุปและประกาศเป็นอินเทอร์เฟซอิสระได้ ซึ่งช่วยให้ออบเจ็กต์ไคลเอ็นต์ใช้คลาสของผู้ให้บริการที่แตกต่างกันได้อย่างราบรื่นโดยไม่มีการเปลี่ยนแปลงใดๆ
2. รูปแบบคลาสนามธรรม: สามารถใช้ในการออกแบบเฟรมเวิร์กที่ให้การใช้งานฟังก์ชันทั่วไปของชุดคลาสที่เกี่ยวข้องที่สอดคล้องกัน ต่างจากอินเทอร์เฟซ วิธีการในอินเทอร์เฟซต้องถูกนำไปใช้ในคลาสย่อย วิธีการที่จำเป็นสามารถนำไปใช้ในคลาสนามธรรมได้ และคลาสย่อยจำเป็นต้องสืบทอดเท่านั้น ซึ่งช่วยลดการใช้วิธีซ้ำซ้อน
3. รูปแบบวิธีการส่วนตัว: วิธีการบางอย่างสามารถใช้ได้ภายในโดยวิธีการอื่นหรือคลาสภายในในวัตถุเดียวกันเท่านั้น รูปแบบนี้แนะนำให้ออกแบบวิธีการดังกล่าวเป็นวิธีการส่วนตัว
4. รูปแบบการเข้าถึง: ในวัตถุ ตัวแปรอินสแตนซ์ทั้งหมดจะถูกประกาศเป็นส่วนตัว และวิธีการเข้าถึงสาธารณะของวัตถุ ลูกค้าสามารถเปลี่ยนวัตถุจากสถานะหนึ่งไปอีกสถานะหนึ่งได้โดยใช้ตัวเข้าถึงเป็นอีกสถานะหนึ่ง วัตถุสามารถเข้าถึงตัวแปรส่วนตัวได้โดยตรง javaBean ใน JSP ใช้รูปแบบนี้
5. ตัวจัดการข้อมูลคงที่: เหมาะมากสำหรับการออกแบบกลไกการจัดเก็บข้อมูลที่มีประสิทธิภาพเพื่อจัดการข้อมูลคงที่ที่ใช้โดยอ็อบเจ็กต์ต่างๆ ในแอปพลิเคชัน รูปแบบนี้ชี้ให้เห็นว่าข้อมูลที่มีค่าถาวรในแอปพลิเคชันควรเก็บไว้ในออบเจ็กต์แยกต่างหากเพื่อให้ออบเจ็กต์อื่นในแอปพลิเคชันเข้าถึงได้ แทนที่จะได้รับอนุญาตให้ปรากฏในออบเจ็กต์ที่แตกต่างกัน การแยกประเภทนี้ทำให้มีพื้นที่เก็บข้อมูลส่วนกลางที่บำรุงรักษาง่ายสำหรับข้อมูลคงที่ในแอปพลิเคชันของคุณ
6. วัตถุที่ไม่เปลี่ยนรูป: ตั้งค่าตัวแปรอินสแตนซ์ทั้งหมดใน Constructor และไม่มีวิธีการอื่นใดที่สามารถเปลี่ยนสถานะของวัตถุได้ ประกาศคลาสเป็นประเภท fanal เพื่อป้องกันความเป็นไปได้ในการเปลี่ยนแปลงสถานะโดยการแทนที่วิธีการของคลาส ตัวแปรอินสแตนซ์ทั้งหมดถูกเขียนเป็นประเภท fanal เพื่อให้สามารถกำหนดได้ผ่านเมธอด Constructor เท่านั้น หากตัวแปรอินสแตนซ์ตัวใดตัวหนึ่งมีการอ้างอิงถึงอ็อบเจ็กต์ ดังนั้นเมธอด get inggai จะส่งกลับสำเนาของอ็อบเจ็กต์แทน Really วัตถุนั้นเอง กลไกข้างต้นสามารถรับประกันความปลอดภัยของเธรดและขจัดปัญหาทั้งหมดที่เกี่ยวข้องกับการเข้าถึงพร้อมกันโดยอัตโนมัติ
7. การตรวจสอบ: ได้รับการล็อคบนวัตถุดังกล่าวเพื่อให้แน่ใจว่ามีเพียงเธรดเดียวเท่านั้นที่ได้รับอนุญาตให้ดำเนินการวิธีการใด ๆ ของวัตถุในแต่ละครั้ง ซึ่งสามารถทำได้ใน Java โดยใช้คีย์เวิร์ดที่ซิงโครไนซ์ในการประกาศเมธอดอ็อบเจ็กต์
สร้างโหมด:
บทบาท: จัดการหนึ่งในงานที่ดำเนินการบ่อยที่สุดในแอปพลิเคชัน OO - การสร้างออบเจ็กต์ รองรับการใช้กลไกที่มีข้อจำกัดเรียบง่ายสม่ำเสมอเพื่อสร้างออบเจ็กต์ อนุญาตให้มีการสรุปรายละเอียดเกี่ยวกับคลาสและวิธีการสร้างอินสแตนซ์ที่สนับสนุนการใช้อินเทอร์เฟซเพื่อลด การกำเนิดของการมีเพศสัมพันธ์
1. วิธีการจากโรงงาน: หากวัตถุไคลเอนต์ไม่ทราบว่าคลาสใดที่จะสร้างอินสแตนซ์ ก็สามารถใช้วิธีโรงงานเพื่อสร้างอินสแตนซ์ของคลาสที่สอดคล้องกันในลำดับชั้นของคลาสหรือกลุ่มคลาสที่เกี่ยวข้อง วิธีการจากโรงงานอาจได้รับการออกแบบโดยเป็นส่วนหนึ่งของไคลเอนต์เอง หรืออาจได้รับการออกแบบในแต่ละคลาส ในหมู่พวกเขา คลาสที่มีเมธอดของโรงงานหรือคลาสย่อยใดๆ จะเป็นตัวกำหนดคลาสที่ถูกเลือกและวิธีสร้างอินสแตนซ์
2. Singleton: ให้กลไกการสร้างอ็อบเจ็กต์ที่มีข้อจำกัดเพื่อให้แน่ใจว่าคลาสที่ระบุมีเพียงอินสแตนซ์เดียวเท่านั้น
3. โรงงานบทคัดย่อ: อนุญาตให้สร้างอินสแตนซ์ของคลาสภายในชุดของคลาสที่เกี่ยวข้องโดยไม่ต้องให้ออบเจ็กต์ไคลเอนต์ระบุคลาสที่เป็นรูปธรรมจริงที่จะสร้างอินสแตนซ์
4. ต้นแบบ: ให้วิธีง่ายๆ ในการสร้างวัตถุ กล่าวคือ การคัดลอกวัตถุจากวัตถุที่มีอยู่
5. ตัวสร้าง: อนุญาตให้สร้างออบเจ็กต์ที่ซับซ้อน สามารถให้เฉพาะข้อมูลประเภทและเนื้อหาของออบเจ็กต์ และทำให้รายละเอียดเกี่ยวกับการสร้างออบเจ็กต์โปร่งใสต่อไคลเอนต์ วิธีการนี้ช่วยให้กระบวนการก่อสร้างเดียวกันสามารถสร้างการนำเสนอวัตถุที่แตกต่างกันได้