Futures / Monads vs Events


10

ในกรอบแอปพลิเคชันเมื่อผลกระทบต่อประสิทธิภาพการทำงานสามารถถูกเพิกเฉยได้ (10-20 เหตุการณ์ต่อวินาทีสูงสุด)
อะไรคือการบำรุงรักษาและความยืดหยุ่นในการใช้เป็นสื่อที่ต้องการสำหรับการสื่อสารระหว่างโมดูล - เหตุการณ์หรืออนาคต / สัญญา / Monads ?

บ่อยครั้งที่มีการกล่าวกันว่ากิจกรรม (pub / sub, ผู้ไกล่เกลี่ย) อนุญาตให้มีเพศสัมพันธ์แบบหลวม ๆ - แอปที่บำรุงรักษาได้ดีกว่า ... ประสบการณ์ของฉันปฏิเสธสิ่งนี้: เมื่อคุณมีเหตุการณ์มากกว่า 20 เหตุการณ์ - การแก้ไขข้อบกพร่องกลายเป็นเรื่องยาก เพราะมันยากมากที่จะเห็น: ใครเมื่อไหร่และทำไมใช้อะไร

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

ป.ล. : คำตอบไม่จำเป็นต้องอิงจาก JS ประสบการณ์จากภาษาอื่น ๆ ที่ใช้งานได้ดี


2
บ่อยครั้งที่มีการกล่าวว่ากิจกรรม (pub / sub, ผู้ไกล่เกลี่ย) อนุญาตให้มีเพศสัมพันธ์หลวม ๆที่นรกพูดอย่างนั้นหรือ หยุดฟังพวกเขา! คุณไม่สามารถสมัครรับข้อมูลกิจกรรมโดยไม่ทราบว่าผู้ปกครอง -> คับคัปปลิ้ง ดูเหตุการณ์ที่อ่อนแอ (= คนกลาง?)
Louis Kottmann

@Baboon โดยทั่วไปฉันเห็นด้วยกับเหตุการณ์ที่เกิดขึ้นไม่ได้ผลิตการมีเพศสัมพันธ์หลวมโดยอัตโนมัติ แต่ถ้าคุณแนะนำรถบัสเหตุการณ์คุณสามารถสมัครสมาชิกเหตุการณ์โดยไม่ต้องรู้ว่า "ผู้ปกครอง" ใครบอกว่า Ray Ryan ใน Google IO 2009 ดูgoogle.com/events/io/2009/sessions/…เวลา 13:50
scarfridge

@ scarfridge ใช่ถ้าคุณใช้ eventaggregator บางประเภทมันจะสูญเสียการมีเพศสัมพันธ์ตามที่ฉันพูดในความคิดเห็นของฉัน
Louis Kottmann

.net rx เป็นผู้รวบรวมกิจกรรมฉันอยู่บนมือถือจะโพสต์รายละเอียดเพิ่มเติมในภายหลัง
AndreasScheinert

คำตอบ:


1

พระและกิจกรรมต่าง ๆ เล่นกันอย่างมากตัวอย่างเช่นดูที่. NET Rx ฉันคิดว่าควรจะมีแม้แต่การใช้งาน JavaScript http://msdn.microsoft.com/en-us/data/gg577609.aspx


ขอโทษที่ยอมรับล่าช้า "สิ่งที่โง่จากไมโครซอฟท์" นั้นยอดเยี่ยมจริงๆ และในตอนนี้หลังจากที่ส่วนขยายรีแอคทีฟได้เปิดแหล่งที่มาแล้ว ขอบคุณสำหรับคำตอบ (แม้ว่าคุณอาจต้องการขยายออกไปเล็กน้อย))
c69

มันขึ้นอยู่กับสิ่งที่คุณกำลังมองหา: บทนำหรือตัวอย่างเฉพาะ ในกรณีใด ๆ ฉันสามารถแนะนำให้คุณสำรวจวิดีโอ channel9 และพูดคุยโดย Erik Meijer และ Brian Beckmann ในหัวข้อ
AndreasScheinert
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.