SOLID Archive

แนวคิด C.U.P.I.D น่าสนใจ

เพิ่งดู VDO และอ่านบทความเกี่ยวกับ CUPID the back storyเป็นอีกหนึ่งแนวคิดที่บอกว่า S.O.L.I.D มันล้าสมัยไปแล้วโดยเป็นการปรับปรุงแนวคิดให้ทันสมัยมากขึ้นแต่ยังคงกลิ่นอายเดิม ๆ ที่เป็นพื้นฐานเหมือนกัน

Read More…

Swift :: ลองปรับปรุงการใช้งาน protocol กันนิดหน่อย

วันนี้เจอ code ที่เขียนด้วยภาษา Swift ที่น่าสนใจ เกี่ยวกับการใช้งาน protocol แถมเจอบทความอธิบายเรื่องนี้ด้วย  Protocol Composition เลยนำมาสรุปกับ code ที่พบเจอด้วยเลย โดย code เหมือนจะดูดีนะ แต่มีหลายเรื่องที่สามารถปรับปรุงให้ดีขึ้นได้ มาเริ่มกันเลย

Read More…

ทำความรู้จักกับ 3R principle

อ่านเจอบทความเรื่อง 3R principles of programming เป็นแนวปฏิบัติ 3 อย่างเพื่อช่วยทำให้ code ที่เหล่านักพัฒนา software สร้างขึ้นมา มีความ clean มีความง่ายต่อการอ่าน มีความง่ายตอการทำความเข้าใจ มีความง่ายต่อการดูแลรักษา ไม่ซับซ้อนมากนัก จึงทำการแปลและสรุปส่วนที่น่าสนใจมานิดหน่อย

Read More…

เมื่อนักพัฒนาไม่สามารถควบคุมความซับซ้อนของ code ได้ !!

จากบทความเรื่อง Why it happens to your code again and again? อธิบายการพัฒนาระบบ web application ด้วย RoR (Ruby on Rails) ซึ่งเป็น framework หลักของการพัฒนาระบบด้วยภาษา Ruby โดยในช่วงแรกของการพัฒนาระบบนั้นจะราบรื่นและรวดเร็ว ไม่ว่าจะเป็นการเพิ่ม gem หรือ library ต่าง ๆ เข้าไป ทุกอย่างมันแจ่มมาก ๆ แต่เมื่อเวลาผ่านไปเรากลับพบว่า

Read More…

ว่าด้วยเรื่องของ Delegator และ Callback ใน Swift

วันนี้นั่งดูและเขียน code ด้วยภาษา Swift สำหรับพัฒนา iOS app พบว่าในหลาย ๆ ส่วนการทำงานใช้ Delegate pattern เพื่อเชื่อมต่อการทำงานในแต่ละส่วน เช่น User Interface Data model Networking layer Service layer Helper class มีเป้าหมายเพื่อไม่ให้ code ผูกติดกันมากจนเกินไป หรือ เรียกว่า Loose coupling แต่ละส่วนแยกกันทำงานชัดเจน แต่ทำให้ code ที่พัฒนาด้วยภาษา Swift เต็มไปด้วย protocol !! คำถามที่น่าสนใจคือ มันมีวิธีการอื่นที่ดีกว่านี้ไหม

Read More…

ตัวอย่างของ code ที่ขัดแย้งต่อแนวคิด Single Responsibility Principle (SRP)

วันนี้เห็น code ของ Android app ตัวหนึ่ง ซึ่งมี code ที่น่าสนใจ และ น่าศึกษา นั่นก็คือ code ที่ใช้งาน RecyclerView แน่นอนว่า ต้องทำงานร่วมกับ Adapter ของมันนั่นเอง ทำให้คิดถึงแนวคิดของ SOLID หนึ่งในนั้นคือ S = Single Responsibility Principle (SRP) มาดู code กันดีกว่า

Read More…

ทำความรู้จักกับ KISS :: Keep It Simple, Stupid

หลังจากที่กลับไปอ่าน blog พบว่า ยังไม่เคยอธิบายเรื่อง KISS (Keep It Simple Stupid) เลย ดังนั้นลองมาทำความรู้จัก และ การนำไปใช้งาน ตามแนวคิดนี้กันหน่อยสิ

Read More…

Testable design ตอนที่ 2 เรื่อง S.O.L.I.D

จากตอนที่ 1 ได้แนะนำเรื่องการออกแบบแบบ Modular ไป ในตอนที่สองมาดูเรื่องของ SOLID กันหน่อย เป็นเรื่องเกี่ยวกับ design principle คิดโดย Robert C. Martin หรือ Uncle Bob ซึ่งเป็นการรวม 5 อย่างไว้ด้วยกัน ดังนั้นเรามาทำความรู้จักกับ SOLID กันหน่อย

Read More…

แนะนำปฏิทิน SOLID Principle

SOLID Principle เป็นแนวคิดสำหรับ Object-Oriented Design (OOD) ซึ่งมีความเกี่ยวข้องกับ code ที่เราเขียนอย่างมาก และเป็นแนวคิดเพื่อช่วยปรับปรุง code ให้ดีขึ้น โดยในแต่ละปีจะมีการจัดทำปฏิทินขึ้นมา เรียกว่า ปฏิทิน Software Craftsmanship Principle ซึ่งในปี 2015 ไม่มีการทำ แต่ในปี 2016 นั้นมีแน่นอน ดังนั้นจึงเอาหน้าตาปฏิทินที่เขาออกแบบไว้มาให้ดูดังนี้ ใครสนใจก็ไปร่วมระดมทุนในการผลิตได้นะครับ

Read More…

ว่าด้วยเรื่อง Composition over Inheritance

เห็นมีการพูดถึงเรื่อง Composition over Inheritance ใน facebook มันน่าสนใจดีนะ แต่ผมก็ไม่ค่อยรู้เรื่องมันเท่าไร ส่วนเรื่อง OOP นี่ไม่ต้องพูดถึง … ดังนั้นลองมาทำความเข้ากับมันหน่อยสิ ว่าเป็นอย่างไรกัน

Read More…