คำสั่ง:
ส่วนประกอบพื้นฐาน:
- คำสั่งประกาศอินเทอร์เฟซสำหรับคำสั่งนามธรรมเช่น
execute()
- ผู้รับรู้วิธีดำเนินการคำสั่งเฉพาะ
- Invokerถือ ConcreteCommandซึ่งจะต้องดำเนินการ
- ลูกค้าสร้าง ConcreteCommandและกำหนดผู้รับ
- ConcreteCommandกำหนดการผูกมัดระหว่าง Commandและ Receiver
ขั้นตอนการทำงาน:
ลูกค้าเรียกInvoker => InvokerเรียกConcreteCommand => ConcreteCommandเรียกวิธีการรับซึ่งใช้วิธีการคำสั่งนามธรรม
ข้อได้เปรียบ : ไคลเอนต์ไม่ได้รับผลกระทบต่อการเปลี่ยนแปลงใน Command and Receiver Invoker ให้การมีเพศสัมพันธ์แบบหลวม ๆ ระหว่างไคลเอนต์และผู้รับ คุณสามารถเรียกใช้หลายคำสั่งด้วย Invoker เดียวกัน
คำสั่งรูปแบบที่ช่วยให้คุณสามารถดำเนินการคำสั่งเกี่ยวกับการที่แตกต่างกันรับโดยใช้แบบเดียวกันInvoker Invoker ไม่ทราบประเภทของผู้รับ
เพื่อความเข้าใจแนวคิดที่ดีขึ้นโปรดดูบทความ JournalDev โดยPankaj Kumarและบทความ dzone โดยJames Sugrueนอกเหนือจากลิงก์ Wikipedia
คุณสามารถใช้รูปแบบคำสั่งเพื่อ
แยกตัวเรียกใช้และผู้รับคำสั่ง
ใช้กลไกการโทรกลับ
ใช้ฟังก์ชันการเลิกทำและทำซ้ำ
รักษาประวัติของคำสั่ง
java.lang.Thread
เป็นการใช้รูปแบบคำสั่งที่ดีวิธีหนึ่ง คุณสามารถรักษากระทู้เป็นทรงและระดับการดำเนินRunnableเป็นConcreteCommonad / ตัวรับและrun()
วิธีการตามที่สั่ง
สามารถอ่านรูปแบบคำสั่งเวอร์ชันเลิกทำ / ทำซ้ำได้ที่บทความของ Theodore Norvell
กลยุทธ์:
รูปแบบกลยุทธ์นั้นเข้าใจง่ายมาก ใช้รูปแบบนี้เมื่อ
คุณมีการใช้งานหลายขั้นตอนวิธีการและขั้นตอนวิธีการดำเนินการสามารถเปลี่ยนแปลงได้ตลอดเวลาการทำงานขึ้นอยู่กับสภาพโดยเฉพาะอย่างยิ่ง
ยกตัวอย่างองค์ประกอบค่าโดยสารของระบบการจองตั๋วเครื่องบิน
สายการบินต้องการเสนอค่าโดยสารที่แตกต่างกันในช่วงเวลาที่แตกต่างกัน - เดือน Peak และ Off Peak ในช่วงวันที่มีการเดินทางท่องเที่ยวเป็นจำนวนมากจึงต้องการกระตุ้นความต้องการโดยเสนอส่วนลดที่น่าสนใจ
ประเด็นสำคัญของรูปแบบกลยุทธ์ :
- มันเป็นรูปแบบพฤติกรรม
- ขึ้นอยู่กับการมอบหมาย
- มันเปลี่ยนความกล้าของวัตถุโดยการปรับเปลี่ยนพฤติกรรมวิธีการ
- ใช้เพื่อสลับระหว่างกลุ่มอัลกอริทึม
- มันเปลี่ยนพฤติกรรมของวัตถุในขณะทำงาน
บทความที่เกี่ยวข้องพร้อมตัวอย่างโค้ด:
ใช้รูปแบบการออกแบบคำสั่ง
ตัวอย่างรูปแบบกลยุทธ์ในโลกแห่งความจริง