คำถามติดแท็ก command-pattern

7
ใช้รูปแบบกลยุทธ์และรูปแบบคำสั่ง
รูปแบบการออกแบบทั้งสองห่อหุ้มอัลกอริทึมและแยกรายละเอียดการใช้งานออกจากคลาสการโทร ความแตกต่างเพียงอย่างเดียวที่ฉันสามารถเข้าใจได้คือรูปแบบกลยุทธ์ใช้พารามิเตอร์สำหรับการดำเนินการในขณะที่รูปแบบคำสั่งไม่ได้ สำหรับฉันแล้วดูเหมือนว่ารูปแบบคำสั่งต้องการข้อมูลทั้งหมดเพื่อให้การดำเนินการพร้อมใช้งานเมื่อสร้างขึ้นและสามารถชะลอการเรียก (อาจเป็นส่วนหนึ่งของสคริปต์) การกำหนดอะไรเป็นแนวทางว่าจะใช้รูปแบบเดียวหรืออีกแบบ

15
รายการคำสั่ง if ใน Java แบบยาว
ขออภัยฉันไม่พบคำถามที่ตอบคำถามนี้ฉันเกือบจะแน่ใจว่ามีคนอื่นถามมาก่อน ปัญหาของฉันคือฉันกำลังเขียนไลบรารีระบบเพื่อเรียกใช้อุปกรณ์ฝังตัว ฉันมีคำสั่งที่สามารถส่งไปยังอุปกรณ์เหล่านี้ผ่านการออกอากาศทางวิทยุ สามารถทำได้โดยใช้ข้อความเท่านั้น ภายในไลบรารีระบบฉันมีเธรดที่จัดการคำสั่งที่มีลักษณะเช่นนี้ if (value.equals("A")) { doCommandA() } else if (value.equals("B")) { doCommandB() } else if etc. ปัญหาคือมีคำสั่งมากมายที่จะทำให้บางสิ่งบางอย่างควบคุมไม่ได้อย่างรวดเร็ว น่ากลัวที่จะมองออกเจ็บปวดกับการแก้ไขจุดบกพร่องและไม่สามารถเข้าใจได้ในเวลาไม่กี่เดือน

4
คำสั่งและ / หรือข้อกำหนดการสืบค้นที่ออกแบบมาอย่างดี
ฉันได้ค้นหาวิธีแก้ปัญหาที่ดีสำหรับปัญหาที่นำเสนอโดยรูปแบบพื้นที่เก็บข้อมูลทั่วไปมาระยะหนึ่งแล้ว (รายการวิธีการเพิ่มขึ้นสำหรับการสืบค้นเฉพาะทาง ฯลฯ ดู: http://ayende.com/blog/3955/repository- is-the-new-singleton ) ฉันชอบแนวคิดในการใช้การสืบค้นคำสั่งโดยเฉพาะอย่างยิ่งการใช้รูปแบบข้อมูลจำเพาะ อย่างไรก็ตามปัญหาของฉันเกี่ยวกับข้อกำหนดคือมันเกี่ยวข้องกับเกณฑ์ของการเลือกอย่างง่ายเท่านั้น (โดยทั่วไปคือ where clause) และไม่ได้จัดการกับปัญหาอื่น ๆ ของการสืบค้นเช่นการเข้าร่วมการจัดกลุ่มการเลือกส่วนย่อยหรือการฉายภาพเป็นต้น โดยพื้นฐานแล้วการค้นหาเพิ่มเติมทั้งหมดจะต้องผ่านการค้นหาจำนวนมากเพื่อให้ได้ชุดข้อมูลที่ถูกต้อง (หมายเหตุ: ฉันใช้คำว่า "คำสั่ง" ในรูปแบบคำสั่งหรือที่เรียกว่าวัตถุแบบสอบถามฉันไม่ได้พูดถึงคำสั่งเช่นเดียวกับในการแยกคำสั่ง / คิวรีที่มีความแตกต่างระหว่างแบบสอบถามและคำสั่ง (อัปเดตลบ แทรก)) ดังนั้นฉันกำลังมองหาทางเลือกอื่นที่ห่อหุ้มข้อความค้นหาทั้งหมด แต่ก็ยังมีความยืดหยุ่นเพียงพอที่คุณจะไม่เพียง แต่แลกเปลี่ยนที่เก็บสปาเก็ตตี้เพื่อเพิ่มคลาสคำสั่ง ฉันเคยใช้เช่น Linqspecs และในขณะที่ฉันพบคุณค่าบางอย่างในการกำหนดชื่อที่มีความหมายให้กับเกณฑ์การคัดเลือก แต่ก็ไม่เพียงพอ บางทีฉันอาจกำลังมองหาวิธีการแก้ปัญหาแบบผสมผสานที่ผสมผสานหลายวิธีเข้าด้วยกัน ฉันกำลังมองหาวิธีแก้ปัญหาที่ผู้อื่นอาจพัฒนาขึ้นเพื่อแก้ไขปัญหานี้หรือแก้ไขปัญหาอื่น แต่ยังคงเป็นไปตามข้อกำหนดเหล่านี้ ในบทความที่เชื่อมโยง Ayende แนะนำให้ใช้บริบท nHibernate โดยตรง แต่ฉันรู้สึกว่าส่วนใหญ่ทำให้ชั้นธุรกิจของคุณซับซ้อนเพราะตอนนี้ต้องมีข้อมูลการสืบค้นด้วย ฉันจะมอบรางวัลให้กับสิ่งนี้ทันทีที่ระยะเวลารอผ่านพ้นไป ดังนั้นโปรดทำให้โซลูชันของคุณมีค่าพร้อมคำอธิบายที่ดีและฉันจะเลือกทางออกที่ดีที่สุดและเพิ่มคะแนนให้กับนักวิ่ง หมายเหตุ: ฉันกำลังมองหาสิ่งที่เป็นไปตาม ORM ไม่จำเป็นต้องเป็น EF หรือ nHibernate อย่างชัดเจน …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.