8
การออกแบบขนาดใหญ่ใน Haskell [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน3 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เป็นวิธีที่ดีในการออกแบบ / โครงสร้างโปรแกรมการทำงานขนาดใหญ่โดยเฉพาะใน Haskell อะไร ฉันได้ผ่านบทเรียนมากมาย (เขียนโครงการด้วยตัวเองเป็นที่ชื่นชอบกับ Real World Haskell ในไม่ช้า) - แต่โปรแกรมส่วนใหญ่มีขนาดค่อนข้างเล็กและมีวัตถุประสงค์เดียว นอกจากนี้ฉันไม่คิดว่าพวกเขาบางคนจะสง่างามเป็นพิเศษ (ตัวอย่างเช่นตารางการค้นหาที่กว้างใหญ่ใน WYAS) ตอนนี้ฉันต้องการเขียนโปรแกรมที่มีขนาดใหญ่ขึ้นด้วยชิ้นส่วนที่เคลื่อนไหวได้มากขึ้น - รับข้อมูลจากแหล่งข้อมูลที่แตกต่างกันมากมายทำความสะอาดประมวลผลในรูปแบบต่าง ๆ แสดงในส่วนติดต่อผู้ใช้ยืนยันมันสื่อสารผ่านเครือข่ายเป็นต้น โครงสร้างที่ดีที่สุดอย่างหนึ่งของรหัสดังกล่าวคืออ่านง่ายบำรุงรักษาและปรับให้เข้ากับความต้องการที่เปลี่ยนแปลงได้หรือไม่ มีวรรณกรรมจำนวนมากตอบคำถามเหล่านี้สำหรับโปรแกรมเชิงวัตถุขนาดใหญ่ แนวคิดเช่น MVC รูปแบบการออกแบบ ฯลฯ เป็นข้อกำหนดที่เหมาะสมสำหรับการตระหนักถึงเป้าหมายในวงกว้างเช่นการแยกความกังวลและการใช้ซ้ำในสไตล์ OO นอกจากนี้ภาษาที่มีความจำเป็นรุ่นใหม่ยังให้ความสำคัญกับรูปแบบ 'การออกแบบเมื่อคุณเติบโต' ซึ่งในความเห็นของฉันสามเณร Haskell ดูเหมือนว่าจะเหมาะสมน้อยกว่า มีวรรณกรรมที่เทียบเท่ากับ Haskell ไหม สวนสัตว์ของโครงสร้างการควบคุมที่แปลกใหม่มีให้ใช้งานในการเขียนโปรแกรมการทำงานอย่างไร (monads, arrow, applicative …