Category: Game Dev

หมวด Game Dev รวบรวมบทความเกี่ยวกับเกมและการพัฒนาเกม ตั้งแต่เกม 2D และ 3D เกมอินดี้ การออกแบบระบบเกม เกมเพลย์ กลไกการเล่น ไปจนถึงประสบการณ์และแนวคิดจากมุมมองนักพัฒนา

List

FlutterFlow คืออะไร? แพลตฟอร์มสร้างแอป Flutter แบบไม่ต้องเขียนโค้ดทั้งหมด

FlutterFlow คืออะไร FlutterFlow คือเครื่องมือ Visual App Builder สำหรับสร้างแอปด้วย Flutter Framework โดยใช้แนวคิดแบบ Low-Code / No-Code ผู้ใช้สามารถออกแบบหน้าจอ วางโครงสร้างแอป เชื่อมต่อฐานข้อมูล และตั้งค่า logic ได้ผ่านหน้าเว็บ …

ตอนที่ 10: Layered, Clean และ Hexagonal Architecture – โครงสร้างที่พา DDD ไปใช้ได้จริง

บทนำ เมื่อคุณเข้าใจ Domain-Driven Design ครบทั้ง Entity, Aggregate, Domain Service, Application Service, Repository และ Domain Event แล้ว คำถามถัดไปที่เลี่ยงไม่ได้คือ: แล้วเราควรจัดโครงสร้างระบบ (Architecture) แบบไหน …

ตอนที่ 9: Domain Event – เมื่อระบบธุรกิจขับเคลื่อนด้วยเหตุการณ์

บทนำ ในระบบธุรกิจจริง หลายสิ่งไม่ได้เกิดขึ้นเพราะ “มีคนสั่ง” เสมอไป แต่เกิดขึ้นเพราะ เหตุการณ์บางอย่างได้เกิดขึ้นแล้ว เช่น: พนักงานผ่านทดลองงาน พนักงานลาออก เงินเดือนถูกปรับ แผนกถูกยุบ เหตุการณ์เหล่านี้คือหัวใจของแนวคิดที่เรียกว่า Domain Event ใน Domain-Driven Design (DDD) Domain …

ตอนที่ 8: Repository ใน Domain-Driven Design – ทำไมไม่ใช่แค่ CRUD

บทนำ เมื่อพูดถึงคำว่า Repository นักพัฒนาจำนวนมากมักจะนึกถึงไฟล์ที่มีแต่ create, read, update, delete แต่ใน Domain-Driven Design (DDD) นั้น Repository มีความหมายและบทบาทที่ลึกกว่านั้นมาก บทความตอนนี้จะอธิบายว่า Repository ใน DDD คืออะไร, …

ตอนที่ 7: Application Service / Use Case – ตัวกลางระหว่างโลกธุรกิจกับโลกเทคนิค

บทนำ หลังจากตอนที่ 6 เราได้รู้จัก Domain Service ซึ่งเป็นที่อยู่ของ business logic ที่ไม่ควรผูกกับ Entity ใดโดยตรง คำถามถัดมาที่มักจะตามมาคือ: แล้วโค้ดที่รับ request จาก UI, เรียก Domain Service, …

Domain Service – เมื่อ logic ไม่ควรอยู่ใน Entity

ตอนที่ 6 ของซีรีส์ Domain-Driven Design ฉบับระบบธุรกิจจริง Theme หลัก: ระบบบริหารพนักงาน (Staff / Employee Management System) ในตอนที่ 5 เราใช้ Aggregate เพื่อกำหนดขอบเขตและปกป้อง invariant …

Aggregate & Aggregate Root – กำแพงป้องกัน Domain ไม่ให้เละ

ตอนที่ 5 ของซีรีส์ Domain-Driven Design ฉบับระบบธุรกิจจริงTheme หลัก: ระบบบริหารพนักงาน (Staff / Employee Management System) หลังจากตอนที่ 4 เราแยก Entity และ Value Object …

Entity vs Value Object – อะไรควรมีตัวตนในระบบพนักงาน

ตอนที่ 4 ของซีรีส์ Domain-Driven Design ฉบับระบบธุรกิจจริง หลังจากตอนที่ 3 เราได้ภาษาเดียวกันระหว่างโค้ดกับธุรกิจแล้ว ตอนนี้ถึงเวลาลงมือ สร้าง Domain Model จริง ๆ คำถามแรกที่สำคัญมากคือ: สิ่งนี้ในระบบ ควรเป็น Entity หรือ …

จาก Imperative → Declarative → Domain Thinking

ตอนที่ 2 ของซีรีส์ Domain-Driven Design ฉบับระบบธุรกิจจริง Theme หลัก: ระบบบริหารพนักงาน (Staff / Employee Management System) ในตอนที่แล้ว เราคุยกันว่า DDD คือการเปลี่ยนมุมมองการออกแบบระบบ โดยให้ Domain …

Ubiquitous Language – ภาษาที่โค้ดกับธุรกิจพูดตรงกัน

ตอนที่ 3 ของซีรีส์ Domain-Driven Design ฉบับระบบธุรกิจจริง Theme หลัก: ระบบบริหารพนักงาน (Staff / Employee Management System) ในตอนที่ 2 เราเห็นแล้วว่า Domain Thinking คือการให้ …

วิวัฒนาการของ Backend, Frontend และ Full-stack Developer

หลายคนที่ทำงานสายพัฒนาซอฟต์แวร์อาจคุ้นเคยกับคำว่า Backend Developer, Frontend Developer และ Full-stack Developer เป็นอย่างดี แต่คำถามที่น่าสนใจคือ แนวคิดเหล่านี้เริ่มต้นมาตั้งแต่เมื่อไร และเกิดขึ้นได้อย่างไร? บทความนี้จะพาย้อนดูพัฒนาการของบทบาทนักพัฒนาซอฟต์แวร์ ตั้งแต่อดีตจนถึงปัจจุบัน เพื่อให้เข้าใจว่า “การแบ่ง role” ไม่ใช่เรื่องบังเอิญ แต่เป็นผลลัพธ์ของวิวัฒนาการทางเทคโนโลยี 1 …
domain driven design

Domain-Driven Design คืออะไร (แบบไม่ใช่ตำรา)

ตอนที่ 1 ของซีรีส์ Domain-Driven Design ฉบับคนทำแอป & เกมจริง ถ้าคุณเป็น developer ที่เขียนระบบมานานพอ คุณน่าจะเคยเจอสถานการณ์ประมาณนี้: โค้ดเขียนถูกหมด แต่ระบบแก้ยาก เพิ่ม feature นิดเดียว กระทบไปทั้งระบบ business rule …