HMVC-สำหรับพัฒนาเว็บไซต์ขนาดใหญ่

ทำเว็บไซต์ขนาดใหญ่ ด้วย HMVC Codeigniter

ทำเว็บไซต์ขนาดใหญ่ ด้วย HMVC

ทำเว็บไซต์ขนาดใหญ่ ด้วย HMVC Design Pattern

คำว่า Design Pattern ในเชิงการพัฒนาเว็บไซต์ หมายถึง รูปแบบวิธีการเขียนโค๊ดที่ถูกพัฒนาขึ้นมาเพื่อแก้ปัญหาโดยรวมในการพัฒนาเว็บไซต์ ปัจจุบัน Design Pattern ที่ได้รับความนิยมอย่างมากคือ MVC Design Pattern ( Model, View, Controller ) การพัฒนาเว็บไซต์โดยใช้หลักการ MVC สามารถเพิ่มประสิทธิภาพและแก้ปัญหาการพัฒนาเว็บไซต์ได้หลายส่วน ทำให้การพัฒนาเว็บไซต์มีความยืดหยุ่นทั้งในแง่ของการพัฒนาต่อยอด และการทำงานเป็นทีมของกลุ่มนักพัฒนาเอง

แนวคิดแบบ MVC เพียงพอสำหรับการพัฒนาเว็บไซต์ขนาดใหญ่ได้ แต่ถ้าในเว็บไซต์นั้น มีเว็บไซต์ขนาดใหญ่ซ้อนอยู่ข้างในอีกทีหนึ่ง ตัวอย่างเช่น โปรแกรม ERP ( Enterprise Resource Planning ) โปรแกรมวางแผนทรัพยากรทางธุรกิจขององค์กร ซึ่งแน่นอนว่าเป็นระบบขนาดใหญ่ ในโปรแกรมจะประกอบด้วย Modules ขนาดใหญ่ โดยส่วนใหญ่ก็จะมี Modules ประมาณรายการด้านล่าง

  • Sale & CRM
  • Accounting & Finance
  • Purchase
  • Warehouse Management
  • Project Management
  • Human Resource
  • อื่น ๆ

ที่ลิสต์มาด้านบนเป็นแค่ส่วนหนึ่งครับ ERP นั้นมีอีกหลาย Modules จะเห็นได้ว่าทุก Modules ด้านบนมีความสำคัญและถ้าพัฒนาออกมาเป็น Web Apps ต้องเป็นเว็บไซต์ขนาดใหญ่ทุก Modules แน่นอน แต่ ERP คือการมี Modules นั้นอยู่ในตัวเองทั้งหมด

HMVC ( Hierarchical Model View Controller ) เกิดมาเพื่อจัดการเว็บไซต์ขนาดใหญ่แบบนี้ครับ มองภาพแบบเข้าใจง่าย ๆ เลยคือ เว็บไซต์ที่มีเว็บไซต์ขนาดใหญ่หลาย ๆ เว็บไซต์ซ้อนอยู่ภายใน HMVC ก็คือ การมีโครงสร้างแบบ MVC หลาย ๆ ตัว ซ้อนอยู่ข้างใน MVC ตัวหลักนั่นแหล่ะครับ

ในเมื่อ HMVC สามารถมีหลาย ๆ MVC เราก็สามารถจัดการกับ 1 Modules เท่ากับ 1 MVC ได้เลย

รูปตัวอย่างโครงสร้างการพัฒนาระบบ ERP โดยใช้ HMVC


พัฒนาเว็บไซต์ขนาดใหญ่ด้วย hmvc


จากตัวอย่างรูปด้านบน ซึ่งเป็น HMVC ของ Codeigniter framework จะสังเกตุว่า โครงสร้างหลักของตัวเฟรมเวิร์คจะยังคงมี Model, view, controller ที่สามารถใช้งานได้เหมือนเดิม และเพิ่มโฟลเด้อ modules เข้ามาและภายใน จะประกอบไปด้วยโมดูลย่อย ๆ ที่มีโครงสร้างการเขียนแบบ MVC

จุดเด่นของการใช้ HMVC ในการพัฒนาเว็บไซต์คือ เราสามารถแยกการพัฒนาแต่ละโมดูลออกจากกันโดยสิ้นเชิงได้เลย โปรแกรมเมอร์คนหนึ่งอาจจะพัฒนาโมดูล CRM อีกคนพัฒนา POS และอีกคนพัฒนา Warehouse หลังจากพัฒนาเสร็จสามารถโยนโมดูลหรือ MVC ตัวนั้นเข้ามาที่ MVC หลักได้เลย

กระทู้ใกล้เคียง

วิธี Update ระบบปฏิบัติการ Android เครื่อง Samsung... ไปที่แอพ การตั้งค่า หรือถ้าเครื่องเราตั้งค่าเป็นภาษาอังกฤษ Setting ที่ติดมากับเครื่องที่ใช้ระบบปฏิบัติการ Android เลื่อนหาตัวเลือกที่ชื่อว่า อ...
วิธี Build ไฟล์ APK จาก React Native สำหรับติดตั้ง... สร้างไฟล์ keystore เปิดโปรแกรม command line ที่โฟลเด้อ project/android/app สำหรับเครื่อง Mac ให้คลิกขวาที่โฟลเด้อ app และเลือก New Terminal at...
ทำระบบ Auto Fill Form จากเครื่องอ่านบัตรประชาชน... รีวิวเครื่องอ่านบัตรประชาชน ประโยชน์ของการใช้เครื่องอ่านบัตรประชาชน ดึงข้อมูลผู้ใช้งาน มาแสดงในแบบฟอร์มการสมัครสมาชิก จะช่วยลดระยะเวลา...
สร้าง QR Code ชำระเงิน ด้วย Kbank Open API ด้วย PH... KBANK Open API คือ ระบบที่ถูกพัฒนาขึ้นมาเพื่อให้เราสามารถทำธุรกรรมทางการเงินในรูปแบบต่าง ๆ เช่น การชำระเงิน การเติมเงิน การดูรายงานรายการเดินบัญ...