Three-Tier Architecture (สถาปัตยกรรม 3 ระดับ)

เป็นแนวคิดการแบ่งระบบในเชิง “กายภาพ” หรือ “Deployment” ออกเป็น 3 ส่วนหลักๆ ซึ่งมักจะทำงานอยู่บนเซิร์ฟเวอร์หรือสภาพแวดล้อมที่แยกจากกันได้

  1. Presentation Tier (Client): ส่วนที่ผู้ใช้โต้ตอบโดยตรง ซึ่งก็คือ เว็บเบราว์เซอร์ ของผู้ใช้ที่แสดงผล HTML, CSS, และ JavaScript 🖥️
  2. Application Tier (Logic/Middle Tier): ส่วนที่ประมวลผลตรรกะทางธุรกิจทั้งหมด ซึ่งก็คือ เซิร์ฟเวอร์ที่รัน Laravel Application ของเรา ทั้งหมด (รวมทั้ง Livewire, Service, Repository) 💻
  3. Data Tier: ส่วนที่จัดเก็บและจัดการข้อมูล ซึ่งก็คือ Database Server (เช่น MySQL, PostgreSQL) 🗄️

Layered Architecture (Service/Repository)

 

เป็นแนวคิดการแบ่งโค้ดในเชิง “ตรรกะ” (Logical) หรือ “การจัดโครงสร้างโค้ด” ที่ทำงานอยู่ ภายใน Application Tier เพื่อให้โค้ดสะอาดและเป็นระเบียบ

  • Presentation Layer (Livewire/Controller): รับคำสั่งจากผู้ใช้ (ที่ส่งมาจาก Presentation Tier)
  • Business Layer (Service): ประมวลผลตรรกะทางธุรกิจ
  • Data Access Layer (Repository): ติดต่อกับ Data Tier เพื่อดึงหรือบันทึกข้อมูล

สรุปความสัมพันธ์

สถาปัตยกรรมแบบ Service/Repository ที่เราคุยกัน คือ วิธีการจัดระเบียบโค้ดที่ทำงานอยู่ภายใน Application Tier ของสถาปัตยกรรมแบบ Three-Tier

ดังนั้น คำตอบคือ ใช่ครับ แนวทางที่เราทำกันนั้นสอดคล้องและเป็นส่วนหนึ่งของ Three-Tier Architecture โดยเป็นการลงรายละเอียดในส่วนของ Application Tier ให้มีโครงสร้างที่ชัดเจนและเป็นระบบนั่นเองครับ

Scroll to Top