สถาปัตยกรรมการไม่ขึ้นกับ CMS
การไม่ขึ้นกับ CMS
GraphQL เซิร์ฟเวอร์พื้นฐานที่ Gato GraphQL ใช้งานนั้นออกแบบมาให้ไม่ขึ้นกับ CMS ใดๆ จึงสามารถทำงานร่วมกับ PHP CMS หรือเฟรมเวิร์กใดก็ได้ (ไม่เพียงแค่ WordPress แต่ยังรวมถึง Laravel และ Symfony ด้วย)
เพื่อให้สามารถทำงานได้โดยไม่ขึ้นกับ CMS ฟังก์ชันการทำงานทั้งหมดที่ต้องติดต่อกับ CMS จะถูกแบ่งออกเป็น 2 แพ็กเกจแยกกัน:
- แพ็กเกจที่ไม่ขึ้นกับ CMS: ประกอบด้วยโค้ดทางธุรกิจทั้งหมดและสัญญาสำหรับติดต่อกับ CMS ที่นำไปใช้งาน ไม่ว่าจะเป็น CMS ใดก็ตาม (เช่น: posts)
- แพ็กเกจเฉพาะ CMS: ประกอบด้วยการนำสัญญาไปใช้งานสำหรับ CMS เฉพาะเจาะจง (เช่น: posts-wp ซึ่งเป็นการนำสัญญาสำหรับ WordPress ไปใช้งาน)
โค้ดส่วนใหญ่ (ประมาณ 90%) จะอยู่ในแพ็กเกจที่ไม่ขึ้นกับ CMS ในการย้าย API ไปยัง CMS อื่น (เช่น จาก WordPress ไปยัง Laravel) จำเป็นต้องนำแพ็กเกจเฉพาะ CMS ไปใช้งานใหม่เพียงอย่างเดียวเท่านั้น (ซึ่งคิดเป็นประมาณ 10% ของโค้ดทั้งหมด)
การลดปริมาณโค้ดที่ต้องนำไปใช้งานใหม่ให้น้อยที่สุด และการหลีกเลี่ยงโค้ดที่ซ้ำซ้อนระหว่างแพ็กเกจ คือหลักการสำคัญที่กำหนดวิธีการแบ่งโค้ดออกเป็นแพ็กเกจต่างๆ
Next