ฉันคิดว่ามันเป็นสิ่งสำคัญที่จะขยายเพิ่มเติมเล็กน้อยเกี่ยวกับการแก้ไขจุดบกพร่อง "ย้อนกลับ" หรือ "ประวัติศาสตร์" นี้ ฉันคิดว่าการเข้าใจระบบและพฤติกรรมที่ซับซ้อนในการเล่น "เหตุการณ์" ใหม่ซึ่งทำให้รัฐชัดเจนเป็นสิ่งสำคัญอย่างยิ่ง
สิ่งที่ฉันต้องการแสดงคือคุณไม่ได้อยู่คนเดียวในการสงสัยว่าทำไมเทคนิคนี้จึงไม่ค่อยมีการนำมาใช้ในวันนี้
ดังนั้นเราขอเน้นแนวคิดที่สำคัญสองประการที่นี่:
1. เพื่อให้เข้าใจถึงระบบการเขียนโปรแกรมจะเป็นประโยชน์ในการทำให้สถานะชัดเจน
2. เพื่อให้เข้าใจระบบการเขียนโปรแกรมซ้ำลำดับของรัฐ (เหตุการณ์) สามารถช่วยได้มาก
ต่อไปนี้เป็นแหล่งข้อมูลบางส่วนที่จัดการปัญหาและเสนอหรือแก้ไขปัญหาที่เกิดขึ้น (จัดการกับสถานะในระบบที่ซับซ้อน):
- ออกจากบิต tar กระดาษ: http://shaffner.us/cs/papers/tarpit.pdf
แนวคิดหลัก: หลีกเลี่ยงแยกหรือทำให้รัฐชัดเจน
-CQRS
http://www.cqrs.nu/
นี่คือการรวมกันของสองแนวคิด: Command Query Segregation และ Event Sourcing มีการนำไปใช้งานที่แตกต่างกัน (Java, C #, Scala) การเล่นซ้ำของ Tate sequences และการพัฒนารูปแบบโดเมนเป็นส่วนสำคัญที่นี่
หากคุณจริงๆซูมออกและดูภาพกว้างมากแล้วคุณจะเห็นว่ามี "เพิ่มขึ้น" ของการทำงานคนเขียนโปรแกรมที่มีอยู่แล้ว ((UN) อย่างมีสติ) ดึงดูดให้ FP เพราะมันทำให้รัฐอย่างชัดเจน! แต่นั่นเป็นการจัดการกับประเด็นที่หนึ่งเพื่อจัดการกับประเด็นที่สองนั้นคุณจำเป็นต้องมีแนวคิดอื่นซึ่งอาจอธิบายได้ว่า "หลวม ๆ " เป็นการเขียนโปรแกรมปฏิกิริยาที่ใช้งานได้
ดังนั้นคุณอาจพูดได้ดีและดี แต่ใครใช้ CQRS และ FRP จริง ๆ ฉันจะพูด (IMO เพราะฉันไม่มีตัวเลขที่เป็นรูปธรรม) จริง ๆ แล้วมี บริษัท จำนวนมากที่พวกเขาไม่รู้จักงานที่พวกเขามีคำศัพท์นี้ บางทีคุณอาจจะลองไปฟังดูบ้างจากสถานประกอบการที่ใช้ CQRS แต่ก็มีเรื่องราวความสำเร็จอยู่แล้ว FRP ก็เพิ่มขึ้นอย่างช้าๆเช่นฉันจะให้ Netflix: http://techblog.netflix.com/2013/02/rxjava-netflix-api.html
ซึ่งเพิ่งเปิดตัวการใช้งานของ RX ซึ่งจริงๆแล้วใช้. NET (แต่มี การใช้งานจาวาสคริปต์ด้วย) ดังนั้นผู้คนจึงใช้เทคนิคเหล่านี้ในวันนี้อยู่แล้วในขนาดใหญ่เพื่อทำความเข้าใจกับระบบที่ซับซ้อนและทำให้พวกเขาดียิ่งขึ้น นั่นคือเหตุผลที่พวกเขาใช้เทคนิคการดีบักแบบย้อนกลับ