DDD: Ubiquitous Language

แนวคิดของ Ubiquitous Language ก็คือให้ใช้ภาษาที่เข้าใจง่ายๆเพียงภาษาเดียวบนพื้นฐานที่ว่า บุคคลทั้งหมดที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ เจ้าของโครงการธุรกิจ, ผู้จัดการโครงการพัฒนาซอฟต์แวร์ และทุกคนที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์   ให้ใช้ภาษาเดียวกันในการอธิบายลักษณะของซอฟต์แวร์ที่ถูกพัฒนา ซึ่งจะช่วยลดความสับสน ช่วยเพิ่มความเร็วของการพัฒนาซอฟต์แวร์โดยรวมได้อย่างมากเลยทิเดียว

แนวคิดนี้ไม่ได้เป็นเพียงเพื่อวัตถุประสงค์ในการสนทนากันเท่านั้น มันยังขยายไปถึงการออกแบบตั้งชื่อที่แท้จริงให้ Classes, Methods, Properties, Relationships และรายละเอียดเพิ่มเติมอื่นๆอีกด้วย หลังจากที่ได้ใช้แนวคิด Ubiquitous Language การสนทนาทั้งหมดจะไปในทางเดียวกันใช้คำเหมือนกันหมด ไม่เว้นแม้กระทั่งผู้ที่ไม่มีส่วนเกี่ยวข้องกับการสนทนาก็จะต้องสามารถเข้าใจได้เหมือนกัน(นั่นหมายความว่า Ubiquitous Language จะต้องเป็นที่ใช้กันอย่างแพร่หลายเป็นปกติอยู่แล้ว) เมื่อทุกคนปฏิบัติตาม จนกระทั่งสามารถใช้พูดภาษาเดียวกัน คำเดียวกัน ความหมายเดียวกันในการสนทนาทั้งหมดแล้ว ความสับสนจะถูกลบออกจนหมด และจะไม่มีอีกต่อไปที่ว่าใครคนใดคนหนึ่งหรือโดยจำกัดบุคคล จะเป็นผู้รู้ความหมายของคำ หรือมีความเชี่ยวชาญอยู่เพียงจำกัดเท่านั้น

ในท้ายที่สุด Domain และ Domain Logic จะถูกกลั่นกรองตรวจสอบแก้ไขมากขึ้น โดยทุกฝ่ายที่เกี่ยวข้อง ทำให้ ซอฟต์แวร์ที่เสร็จสมบูรณ์ปล่อยออกมาได้เหมือนจริงมาก ตรงตามความต้องการของเจ้าของโครงการธุรกิจเป๊ะๆ

ขอบคุณครับ 😉

Advertisements

#agile-software-development, #pattenrs