Domain Driven Design สบายๆ สไตล์ รูฟรูฟ
Learning Domain Driven Design สวีดัด สวัสดี ทุกๆท่านครับ เนื่องจากผมมีโอกาสได้ไปเรียน Domain Driven Design (DDD) กับ Roofimon (พี่รูฟ) เป็นเวลา 2 วัน ก็เลยอยากจะบันทึกไว้เพื่อแชร์มุมมองจาก Developer (ผมเอง) ให้คนอื่นๆที่สนใจครับ โดยเนื้อหาทั้งหมดนี้ ล้วนมาจากการเรียนและตกผลึกจากคอร์สพี่รูฟและประสบการ์ณอันน้อยนิดของผม ซึ่งไม่การันตีว่าสิ่งที่อยู่ในบทความนี้จะถูกต้อง ดังนั้นถ้าผิดพลาดประการใดรบกวนชี้แนะผมด้วยนะครับ ทำไมเราควรรู้จัก DDD ก่อนอื่นเลย ผมเชื่อว่า Developer หลายๆคน น่าจะเคยเจอสถานการ์ณแบบนี้ เห็นไหมครับว่า ผลลัพธ์ไม่เหมือนกันสักรูป! แต่ละส่วนล้วนแตกต่างกันโดยสิ้นเชิง คำถาม คือ ทำไม เพราะอะไร ? บ่อยครั้งที่การสื่อสารในการทำ Software Development มักมีลักษณะแบบนี้ Customer -> X (BA, SA or ...) -> Requirements -> Developer -> Code เรามักจะเรียกสิ่งนี้ว่า Knowledge Sharing Flow แต่สังเกตไหมครับว่า Knowledge ถูกส่งต่อหลายสเต็ปมาก กว่าจะไปถึง Developer ซึ่งจริงๆมันก็ดีนะที่ BA, SA คอยแปลความต้องการต่างๆออกมาเป็นรูปแบบ Requirement Document แบบต่างๆ แต่ แต่ แต่ เราจะรู้ได้ยังไงล่ะว่า Knowledge ในแต่ละสเต็ป มันคือ สิ่งเดียวกันกับที่ต้นทางพยายามส่งมา, ไม่ถูกบิดเบือน หรือ Misunderstanding จากใครคนใดคนหนึ่ง...