คำถามติดแท็ก rule-engine

10
วิธีการใช้เอ็นจินกฎ
ฉันมีตาราง db ที่จัดเก็บข้อมูลต่อไปนี้: RuleID objectProperty ComparisonOperator TargetValue 1 age 'greater_than' 15 2 username 'equal' 'some_name' 3 tags 'hasAtLeastOne' 'some_tag some_tag2' ตอนนี้บอกว่าฉันมีชุดของกฎเหล่านี้: List<Rule> rules = db.GetRules(); ตอนนี้ฉันมีตัวอย่างของผู้ใช้ด้วย: User user = db.GetUser(....); ฉันจะวนรอบกฎเหล่านี้และใช้ตรรกะและทำการเปรียบเทียบ ฯลฯ อย่างไร if(user.age > 15) if(user.username == "some_name") เนื่องจากคุณสมบัติของวัตถุเช่น 'อายุ' หรือ 'ชื่อผู้ใช้' ถูกเก็บไว้ในตารางพร้อมกับโอเปอเรเตอร์การเปรียบเทียบ 'great_than' และ 'เท่าเทียมกัน' ฉันจะทำสิ่งนี้ได้อย่างไร C # …
205 c#  dynamic  rule-engine 

10
เมื่อใดที่คุณไม่ควรใช้ Rules Engine [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีรายการข้อดีของการใช้ Rules Engine รวมถึงเหตุผลบางประการในการใช้สิ่งที่ฉันต้องการคือรายการเหตุผลที่คุณไม่ควรใช้ Rules Engine สิ่งที่ดีที่สุดที่ฉันมีคือ: เอ็นจินกฎไม่ได้มีไว้เพื่อจัดการกับเวิร์กโฟลว์หรือการดำเนินการของกระบวนการจริงๆและไม่ใช่กลไกเวิร์กโฟลว์หรือเครื่องมือการจัดการกระบวนการที่ออกแบบมาเพื่อทำกฎ เหตุผลสำคัญอื่นใดที่คุณไม่ควรใช้?
108 rule-engine 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.