จากตัวอย่างในบทความ Rule Engine: Decision Table เรามาลองเงื่อนไขที่ง่ายกว่านี้กัน
ระบบอนุมัติการลา
| เงื่อนไข / กฎ | Rule 1 | Rule 2 | Rule 3 |
|---|---|---|---|
| ล่วงหน้า 3 วัน ? | Y | Y | N |
| มีงานด่วนไหม ? | N | Y | N |
| การกระทำ | |||
| อนุมัติ | X | ||
| ไม่อนุมัติ | X | X | |
วิธีอ่าน Rule
- “ถ้า” แจ้งล่วงหน้า 3 วัน และ “ถ้า” มีงานด่วน (Y )
- “ดังนั้น” ผลลัพธ์คือ ไม่อนุมัติ
สรุปสั้น ๆ
- คอลัมน์ : คือ 1 สถานการณ์ที่อาจเกิดขึ้นจริง
- แถว : คือ รายละเอียดของเงื่อนไขและสิ่งที่ต้องทำ
- ยิ่งมีเงื่อนไข / กฎ เยอะยิ่งอ่านยาก ถ้าเป็นไปได้ ควรลด กฎ ลงให้น้อยที่สุด
อ่านเพิ่มเติม
อ่านเพิ่มเติม
- Zootopia: นครสัตว์มหาสนุก?
- Java 16 (2021): Records (คลาสข้อมูลแบบ Immutable ที่ประกาศกระชับ ไม่ต้องเขียน Getter/Setter เอง) และ Pattern Matching สำหรับ instanceof
- Java 15 (2020): Sealed Classes (การจำกัดสิทธิ์ว่าคลาสใดสามารถสืบทอดได้บ้าง) และ Hidden Classes
- MacOs: BetterDisplay VS Lunar
- MacOs: ใช้แบบปิดฝา / ใช้จอนอก / ไร้จอ