2
จะหลีกเลี่ยงการทำซ้ำโครงสร้างข้อมูลเมื่อส่วนต่างของแอพเขียนเป็นภาษาอื่นได้อย่างไร
ตัวอย่างเช่นสมมติว่าคุณกำลังเขียนแอปในJava ของแอปสื่อสารกับเซิร์ฟเวอร์ API เขียนในหลาม เซิร์ฟเวอร์ Python สื่อสารกับฐานข้อมูลSQL นอกจากนี้คุณยังมีเว็บไซต์ของแอปเขียนในJavaScript ด้วย 4 ภาษาที่แตกต่างกันมันง่ายที่จะจบลงด้วยการทำซ้ำโครงสร้างข้อมูลเดิม 4 ครั้ง ตัวอย่างเช่นUserประเภทอาจมีลักษณะเช่นนี้ (pseudocode): type User { integer id; string name; timestamp birthday; } Userส่วนหนึ่งของโครงการทุกคนจะต้องชนิดของการแสดงบางอย่างสำหรับ ส่วนของ Java และ Python ต้องการclassการประกาศสองแบบที่ต่างกัน ฐานข้อมูลจะต้องมีUserการประกาศตาราง และเว็บไซต์ส่วนหน้าจะต้องเป็นตัวแทนUserด้วย การทำซ้ำประเภทนี้ 4 ครั้งแตกต่างกันจริงๆแบ่งห้ามทำซ้ำ-Yourselfหลักการ นอกจากนี้ยังมีปัญหาที่หากUserมีการเปลี่ยนแปลงประเภทการเปลี่ยนแปลงเหล่านี้จำเป็นต้องทำซ้ำในทุกส่วนของโครงการ ฉันรู้ว่าห้องสมุดprotobufของ Google นำเสนอวิธีการแก้ปัญหาที่คุณเขียนโครงสร้างข้อมูลโดยใช้ไวยากรณ์พิเศษจากนั้นห้องสมุดจะสร้างการประกาศโครงสร้างสำหรับคุณในภาษาการเขียนโปรแกรมหลายภาษา แต่สิ่งนี้ยังไม่ได้จัดการกับปัญหาของการต้องตรวจสอบตรรกะการตรวจสอบซ้ำสำหรับประเภทของคุณ ไม่มีใครมีคำแนะนำหรือลิงค์ไปยังหนังสือ / บล็อกโพสต์เกี่ยวกับเรื่องนี้หรือไม่?