SOLID Archive

ตอนที่ 13 :: 97 สิ่งที่ developer ควรรู้ :: The Single Responsibility Principle

เรื่องที่ 13 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ The Single Responsibility Principle(SRP) เป็นหนึ่งแนวคิดสำคัญในการออกแบบระบบ และ code ที่ดี ที่นักพัฒนา software ทุกคนควรศึกษา เพื่อให้รู้ เข้าใจ และนำไปใช้ด้วยความเคารพ สามารถอธิบายสั้นๆ ได้ว่า ให้รวมส่วนการทำงานที่เปลี่ยนแปลงด้วยเหตุผลเดียวไว้ด้วยกัน ให้แยกส่วนการทำงานที่เปลี่ยนแปลงด้วยเหตุผลที่ต่างกันออกมา ลองดูสิว่า ระบบที่เราพัฒนากันนั้น มันเป็น SRP ไหม

Read More…

Hi, I’m STUPID

วันนี้อ่านเจอคำที่น่าสนใจคือ คำว่า STUPID จึงนำมาขยายความ ในโลกของการพัฒนาด้วย Object-Oriented Programming นั้น มีแนวคิดเพื่อที่จะทำให้ code ที่เขียนขึ้นมานั้นมันมีคุณภาพที่ดี เช่น SOLID, DRY(Don’t Repeat Yourself), Separation of Concern เป็นต้น แต่มีแนวปฏิบัติกลุ่มหนึ่งที่ผิดปกติ แต่เรามักพบเจอกันมากจนเป็นเรื่องปกติ ซึ่งสามารถรวบรวมมาอยู่ในชื่อที่เรียกว่า “STUPID&#

Read More…

Dependency Injection ต่างจาก Dependency Inversion Principle อย่างไรนะ

บ่อยครั้งที่มักพบว่า คนส่วนใหญ่มักจะสับสนกันระหว่างคำว่า Dependency Injection และ Dependency Inversion ยิ่งพูดตัวย่อว่า “DI” แล้ว ยิ่งงงอีกว่า I ย่อมาจากอะไรกันแน่ ดังนั้นมาดูกันว่า ทั้งสองคำมันคืออะไร เหมือนหรือต่างกันอย่างไร เพื่อไม่ให้เกิดความสับสน ดังนั้นมาทำความเข้าใจโดยสังเขปกันหน่อย

Read More…

Java :: หลีกเลี่ยงการใช้ IF ในขั้นตอนการตรวจสอบข้อมูล

หลังจากทำการ review code ของทีมพัฒนา พบรูปแบบหนึ่งที่น่าสนใจสำหรับการตรวจสอบข้อมูลเข้า ( Input validation )  ก่อนที่จะส่งไปยังส่วนการทำงานอื่นๆ เช่น Service, Business logic และ ส่วนคำนวณ เป็นต้น โดยขั้นตอนการตรวจสอบส่วนใหญ่จะมีเยอะหรือเยอะมาก ขึ้นอยู่กับ จำนวนข้อมูล กฎต่างๆ ที่ต้องทำสอบ ส่งผลให้เกิด code ใน if-statement เยอะมาก ดังนั้นเรามาดูว่าจะลด code เหล่านี้ลงไปได้อย่างไร

Read More…