ฉันกำลังจะเริ่มโครงการจำลองสถานการณ์ / การสร้างแบบจำลอง ฉันรู้อยู่แล้วว่า OOP ใช้สำหรับโครงการประเภทนี้ อย่างไรก็ตามการเรียน Haskell ทำให้ฉันพิจารณาใช้กระบวนทัศน์ของ FP สำหรับการสร้างแบบจำลองระบบของส่วนประกอบ ให้ฉันทำอย่างละเอียด:
สมมติว่าฉันมีองค์ประกอบประเภท A ซึ่งมีลักษณะเป็นชุดข้อมูล (พารามิเตอร์เช่นอุณหภูมิหรือความดัน PDE และเงื่อนไขขอบเขต ฯลฯ ) และส่วนประกอบประเภท B ซึ่งมีชุดข้อมูลแตกต่างกัน (แตกต่างกัน หรือพารามิเตอร์เดียวกัน PDE และเงื่อนไขขอบเขตที่แตกต่างกัน) สมมติว่าฟังก์ชั่น / วิธีการที่จะนำไปใช้กับแต่ละองค์ประกอบเหมือนกัน (ตัวอย่างวิธี Galerkin) สถานะที่ไม่แน่นอนของวัตถุจะถูกใช้สำหรับพารามิเตอร์ที่ไม่คงที่
ถ้าฉันจะใช้วิธีการของ OOP ฉันจะสร้างวัตถุสองชนิดที่จะห่อหุ้มข้อมูลของแต่ละประเภทวิธีการในการแก้ไข PDE (การสืบทอดจะใช้ที่นี่เพื่อนำโค้ดกลับมาใช้ใหม่) และวิธีแก้ปัญหากับ PDE
ในทางตรงกันข้ามถ้าฉันจะใช้วิธีการ FP แต่ละองค์ประกอบจะถูกแบ่งออกเป็นส่วนข้อมูลและฟังก์ชั่นที่จะดำเนินการกับข้อมูลเพื่อให้ได้โซลูชั่นสำหรับ PDE พารามิเตอร์ที่ไม่คงที่จะถูกส่งผ่านเป็นฟังก์ชั่นของอย่างอื่น (เวลาเช่น) หรือแสดงโดยความไม่แน่นอนบางอย่าง (การเลียนแบบความไม่แน่นอน ฯลฯ ) วิธีการนี้ดูเหมือนง่ายกว่าสำหรับฉันโดยสมมติว่าการดำเนินการเชิงเส้นบนข้อมูล
โดยสรุปแล้วการใช้วิธีการ FP จะง่ายกว่าและง่ายกว่าในการจัดการ (เพิ่มประเภทของส่วนประกอบหรือวิธีการใหม่ในการแก้ปัญหา pde) เมื่อเทียบกับ OOP หรือไม่
ฉันมาจากพื้นหลัง C ++ / Fortran รวมทั้งฉันไม่ใช่โปรแกรมเมอร์มืออาชีพดังนั้นแก้ไขสิ่งที่ฉันทำผิดให้ถูกต้อง