👦SOLID Design Principles

พื้นฐานในการออกแบบโค้ดที่ควรจะต้องรู้

😢 ปัญหา

แมวน้ำตัวหนึ่งนั่งเขียนโค้ดให้กับแอพอย่างเพลินๆ แล้วอยู่ๆก็พบว่าโค้ดต่างๆใน GitHub ที่ถูกเขียนจากพวกเก่งๆ ทำไมมันช่างแต่งต่างกับของเราจุงเบย เช่นมีความเป็นระเบียบเรียบร้อยกว่า มีการจัดวางโครงสร้างที่ดีกว่า ออกแบบได้ดีกว่า และที่สำคัญคือเวลาที่เขาแก้ไขโค้ดหรือเวลาที่เขาเพิ่มความสามารถให้กับโค้ดนั้นเขาสามารถทำได้เลย แต่ถ้ากลับมาดูโค้ดของตัวเองกลับพบว่ามันมีอะไรต่อมิอะไรพันกันอิลุงตุงนังกันเป็นสปาเก็ตตี้ไปหมดกันนะ แล้วพวกป๋าๆใน GitHub เขาออกแบบโค้ดแบบนั้นได้ยังไง ทำยังไงเราถึงจะออกแบบได้แบบนั้นบ้าง?

😄 วิธีแก้ปัญหา

หนึ่งในการแก้ปัญหาเรื่องการออกแบบคือ การทำตามมาตรฐานในการออกแบบที่เขาวางไว้ ซึ่งในคอร์สนี้จะมาพูดถึงการออกแบบโครงสร้างของโค้ดโดยใช้หลักที่ชื่อว่า S.O.L.I.D มาช่วยในการออกแบบกัน

เชื่อไหมว่า ปัญหาเกือบจะ 80% ของการเขียนซอฟต์แวร์เกิดขึ้นเพราะคนที่เขียนโค้ดไม่ได้ทำตามมาตรฐานที่เขามีมาให้ เพราะโดยปรกตินักพัฒนาจะเรียนรู้การเขียนโค้ดซะส่วนใหญ่ แต่ไม่ได้มาดูเลยว่าภาษานั้นๆเขาวางมาตรฐานหรือสิ่งที่เรียกว่า Best practice ของภาษานั้นๆหรือเทคโนโลยีนั้นๆเป็นยังไงบ้างไงล่ะ

🧭 ความรู้ในการจัดการปลาตัวนี้

pageมารู้จักกับ SOLID กันดีกว่าpageSingle-Responsibility PrinciplepageOpen/Closed PrinciplepageLiskov Substitution PrinciplepageInterface Segregation PrinciplepageDependency-Inversion Principle

Last updated