Design Pattern

[HTTP] การเขียน HTTP Status Codes โลกของความเป็นจริง เมื่อคุณเริ่มทำ API

สวัสดีครับบทคามนี้ผมจะมาอธิบายว่าการใส่ HTTP status codes นั่นมันสำคัญต่อการทำ API ยังไงในแง่ของการใช้งานจริง และถ้าไม่ใส่จะเป็นยังไง โดยผมจะยกตัวอย่างเหตุการณ์ง่ายๆ อย่างเช่นการทำเว็บมาให้เห็นภาพกัน และจุดประสงค์อีกอย่างนึงคือการอยากให้ทุกคนเขียนโปรแกรมให้เป็นมาตรฐานตรงตาม Standard ซึ่งก่อนหน้านี้ผมเคยเขียนบทความตัวนึงเกี่ยวกับการเขียน API ตาม Standard ไปแลยตามนี้ลิ้งนี้เลยครับ ก่อนจะมาเริ่มกันมาทำความรู้จักก่อนว่า HTTP status codes เริ่มกันเลย   [...]

MVC vs FLUX เมื่อ Front-end กลายเป็น Non-manageable Applications

เป็นเวลานานมากที่เราเขียนโปรแกรมกันมาด้วยแนวคิดที่เรียกว่า MVC ไม่มีใครไม่รู้จัก หรือแทบจะไม่มีโปรแกรมไหนในโลกที่ไม่ใช้ MVC ในการเขียนโปรแกรม พักหลังๆ ผมเริ่มจะเขียน ReactJs แบบจริงจัง ตอนนี้ก็เริ่มศึกษา Redux อยู่ จู่ๆ ก็ไปสะดุดกับหลายๆ บทความของฝรั่งที่เขาพูดถึง MVC และ FLUX กันเยอะมาก กะว่าจะเขียนรวบยอดรีบเรียงในความเข้าใจมาให้อ่านกัน เอาละเรามาเข้าเรื่องกัน MVC [...]

เลิกเขียน RESTful API แบบแย่ๆ แล้วหันมาเขียนให้มันถูกต้องตามมาตรฐานกันดีกว่า

ผมเชื่อว่าหลายๆ ที่คนที่เข้ามาอ่านบทความนี้จะต้องทำงานอยู่ในส่วนของ Back-end Developer หรือกำลังเขียน API ด้วย RESTful เราจะไม่พูดถึง SOAP เพราะมันเก่าไป และเดาได้ว่าบางคนคงเขียน API แบบขอไปทีอย่าง เช่น การตั่งชื่อไม่ได้มีหลักการที่ถูกต้อง การเลือกใช้ HTTP Method ก็คงใช่แต่ POST, GET หรืออาจจะไม่เคยเขียนจัดการกับ [...]

[Algorithm] Builder Pattern

สวัสดีครับ บทความตัวนี้ก็เป็นภาคต่อของ Telescoping Constructor Pattern ซึ่งก็ยังอยุ่ในบทเรียนของหนังสือ “Effective Java” และตัวนี้ก็เป็นตัวที่เอา Telescoping Constructor Pattern มาทำการ impove ให้มันมีประสิทธิภาพและอ่านง่าย และสำหรับคำอธิบายผมแนะนำให้ไปอ่าน Telescoping Constructor Pattern ก่อนนะครับผมไม่เขียนเกียจเขียนซ้ำ 5 5 5 แต่เหตุที่ทำ Builder เนี่ยคือ Telescoping  ไม่มีตัวบอกว่าเราเวตพารามิเตอร์ตัวไหน คนอื่านจะไม่รู้เรื่อง แต่ถ้า ตัวนี้จะมีการเอาเรื่องของ [...]

[Algorithm] Enforce noninstantiability with a private constructor

สวัสดีครับเหมือนเดิมช่วงนี้ผมกำลังอ่านหนังสือชื่อ Effective Java มันมีอยู่หัวข้อหนึ่งสอนเกี่ยวกับการป้องการการสร้าง object ของคลาสที่เราสร้าง ซึ่งผมเคยอ่านมาก่อนในหนังสือของ ดร.วีระศึกดฺ ซึ่งถาวร และ ดร. ได้บอกว่าวิธีการไว้สองตัวคือ abstract class และ private constructor แต่ในหนังสือเล่มที่ผมอ่านอยู่เขาบอกว่า abstract class ยังไม่สามารถป้องกันได้เพราะมันเข้าได้ เพราะมันเข้าได้ถึงจาก sub-class วิธีที่ดีที่สุดของหนังสือนี่บอกว่าให้ทำ private constructor แบบนี้ครับ [...]

[Algorithm] Telescoping Constructor Pattern

สวัสดีครับวันนี้ก็เปลี่ยนมาสอน java กันมังเนอะ หลังๆ นี่ผมเขียนแต่ android ก็พอดีได้อ่านหนังสือเล่นนึงชื่อ “Effective Java“ ก็คราวก็เป็นหนังสือที่สอนเกี่ยวกับการเขียนโปรแกรมในภาษา java แบบไหนให้มีประสิทธิภาพหรือพูดง่ายๆ ว่าเขียนแบบไหนถึงจะเทพ ซึ่งผมอ่านแล้วก็ต้องบอกว่าประทับใจมากครับ ไม่ค่อยได้อ่านหนังสือในลักษณะนี้ที่สอนครบถ้วนและลึก ลองอ่านกันดูนะผมนำว่าหนังสือดีจริงๆ แต่ต้องแน่น oop หน่อยนะครับ มันเป็นหนังสือสำหรับที่ต้องการไปในขั้นแอนวานซ์ เอาละเข้าเรื่องก็คือผมจะมาสอนการทำ constructor  ให้เซตค่า property [...]

[Algorithm] Singleton Design Pattern

วันนี้เราจะมาสอน Design Pattern อีกตัวนึงคือ Singleton  ซึ่ง Pattern ในหมวดของ creational และเป็นตัวสุดท้ายที่ผมจะสอนในหมวดนี้ครับ ซึ่งในโลกนี้หากเรียบเทียบมันจะเหมือนกับคำว่า “เป็นเอกลักษณ์ (unique)” ซึ่งผมคงไม่ต้องธิบายว่ามันคืออะไร ในการใช้ Singleton นั้น จะมีคำจำกัดความอยู่สองแบบคือ Ensure a class has only one instance, [...]

[Algorithm] Observer Design Pattern

ในหัวข้อนี่เราจะมาพูดถึง Design อีกตัวที่ชื่อว่า Observer ที่อยู่ในโหมดของ behavioural ในรูปแบบนี้ก็จะเป็นการแก้ปัญหในเรื่อง พฤติกรรมของ Object และมีปฏิสัมพันธ์ระหว่าง Object และในตัวของ Observer เองเป็นการเขียนโปรแกรมแบบการแจ้งเตือนเหตุการณ์ข้อมูลจากคลาสหนึ่งไปอีกคลาสหนึ่ง ถ้าหากยังนึกภาพไม่ออกผมอยากให้นึกถึงแบบนี้ครับ [...]

[Algorithm] MVC (How to program with java)

  วันนี้ผมจะมาสอนเกี่ยวกับแนวคิดการออกแบบ GUI (graphical user interface) หรือบางคนเรียกสั่นๆ ว่า UI ซึ่งในปัจจุบันแนวคิดตัวนี้หรือที่เรียกกันว่า MVC นั้นถือได้ว่ามันคือพื้นฐานที่โปรแกรมเมอร์ต้องรู้เลยก็ว่าได้เกี่ยวกับเชื่อมตัวระบบเข้ากับ GUI ที่เราออกแบบ ซึ่ง ณ ตอนนี้หลายๆ ระบบไม่พ้นแม้ก็กระมือถืออย่างสมาร์ทโฟนก็ใช้หลักการเดียวกัน , เว็บไซต์ต่างๆ  หรือแม้กระทั่ง Framwork ที่เหล่าโปรแกรมเมอร์ใช้กันก็ยังใช้หลักการตัวนี้เข้ามาช่วย [...]

[Algorithm] Abstract Factory Design Pattern

สวัสดีครับหลังจากที่ผมห่างหายไปนานไม่ได้เขียนบทความเลยเพราะงานยุ่งมาก วันนี้ว่างๆ ก็เลยมาเขียนเกี่ยวกับ Design Pattern ต่อโดยผมจะเขียนเรื่อง Abstract Factory ซึ่งอยู่ในโหมดของ creational pattern หลายๆ ซึ่งก็ตามเคยผมก็เอาเว็บต่างประเทศที่หน้าสนใจมาแปลให้ทุกคนอ่านกัน ก่อนอื่นเรามาทำความรู้จักกับ Pattern ตัวนี้ก่อนว่ามันคืออะไร [...]