Total

17

Training

Builder Pattern ใน Java

วันนี้เรามารู้จักกับ Builder Pattern กัน โดยเราจะใช้ Java เป็นตัวอย่างประกอบ เจ้า Design Pattern นี้ใช้สำหรับประยุกต์กับการสร้างออบเจกต์ Model หรือ Entity โดยเฉพาะครับ ว่าแล้วไปดูกันเลย


แนวคิดการเขียนโปรแกรมแบบ Oriented ต่างๆ

ระหว่างที่ผมกำลังเขียนหนังสือเล่มใหม่ ซึ่งได้มีการพูดถึงแนวคิดแบบ Component-oriented Architecture ก็ได้ฉุกคิดขึ้นมาว่า คงมีหลายๆคนที่สับสนกับแนวคิด Oriented แบบต่างๆ และมีข้อสงสัยเช่น Object-oriented Programming ต่างจาก Component-oriented Architecture อย่างไร เราควรใช้แบบไหนดี แล้ว Service-oriented Architecture หล่ะมันคืออะไร เป็นต้น ไหนจะตีกับเรื่องของ Design Patterns แบบต่างๆอีก ดังนั้นผมจึงตั้งใจเขียนบทความนี้ขึ้นมาเพื่ออธิบายความสัมพันธ์ของแนวคิดดังต่อไปนี้คือ

  • Object-oriented Programming (OOP)
  • Component-oriented Architecture (COA)
  • Service-oriented Architecture (SOA)

ว่าแล้วก็ไปอ่านกันเลยครับ


FileUpload ด้วย Servlet

Servlet 3.0 ที่มากับ JavaEE 6 นั้น มีอยู่ฟีเจอร์หนึ่งที่น่าสนใจมาก นั่นก็คือการทำ File Uploading ครับ ฟีเจอร์นี้ทำให้การสร้างโปรแกรมสำหรับอัพโหลดไฟล์ง่ายขึ้นมากๆ แต่ทว่าการจะดาวน์โหลดไฟล์กลับไปใช้นั้น กลับไม่ใช่เรื่องง่ายเลย ดังนั้นวันนี้ผมจะมาพูดถึงฟีเจอร์ใหม่นี้ไปพร้อมๆกับการทำ Virtual Directories ใน Tomcat และ GlassFish เพื่อให้ได้โปรแกรมที่มีความสามารถทั้งการทำอัพโหลดและดาวน์โหลดไฟล์ได้ครับ ว่าแล้วก็ไปดูกันเลย


Polymorphism คืออะไร

หลังจากที่เราได้รู้จักกับ Encapsulation และ Inheritance ไปในบทความ "Encapsulation คืออะไร" และ "Inheritance คืออะไร" ที่ผ่านมา บทความนี้ผมจะมาพูดเรื่อง Polymorphism ซึ่งเป็นฟีเจอร์ที่สำคัญมากของภาษาแบบออกเจกต์ (OOP) เพราะมันช่วยทำให้ระบบมีความยืดหยุ่นสูง อีกทั้ง Design Patterns หลายๆตัวก็ต้องพึ่งพาฟีเจอร์ทางภาษานี้ อย่างไรก็ตามเรื่องนี้เป็นเรื่องที่ค่อนข้างเข้าใจได้ยาก โดยเฉพาะกับผู้เริ่มต้นเรียนรู้ เพราะมักจะนึกภาพไม่ออกว่าจะนำมันไปประยุกต์ใช้อย่างไร ใช้แล้วได้อะไร ดังนั้นบทความนี้ผมจะเริ่มต้นจากตัวอย่างง่ายๆไปจนกระทั่งตัวอย่างจริงที่จับต้องได้ครับ

(หากใครยังไม่ได้อ่านบทความ "Inheritance คืออะไร" แนะนำให้ไปอ่านก่อนนะครับ เพราะใช้ตัวอย่างต่อเนื่องจากบทความนั้น)


Inheritance คืออะไร

บทความนี้เป็นบทความภาคต่อเกี่ยวกับ "ฟีเจอร์ของภาษาออบเจกต์" โดยในบทความที่แล้ว ("Encapsulation คืออะไร") ผมได้พูดถึงเรื่องของ Encapsulation ไป ในบทความนี้ผมจะมาพูดถึงฟีเจอร์ทางภาษาที่ชื่อว่า Inheritance พร้อมทั้งยกตัวอย่างด้วย Java เหมือนเช่นเคย เรื่องนี้เป็นเรื่องที่เข้าใจได้ง่ายกว่า Encapsulation และ Polymorphism นะครับ ตรงๆตัวไม่ได้ซับซ้อนอะไร จากการที่สอบถามหลายๆคนก็มักจะได้คำตอบว่าเข้าใจ ถามว่าแปลว่าอะไรก็ตอบได้เช่นกัน พอมันแปลได้แล้วความหมายมันใกล้เคียงกับสิ่งที่เราเรียน เราก็มักจะเข้าใจและจำได้ ถ้าเช่นนั้นคุณก็ลองตอบคำถามในใจก่อนอ่านนะว่า มันแปลว่าอะไรแล้วน่าจะเกี่ยวกับอะไรในการเขียนโปรแกรม ถ้าได้คำตอบแล้วก็ไปลุยกันเลย ดูว่ามันจะเหมือนกับที่คิดไว้หรือไม่



Books By Me

JavaScript Programming Guide book cover

JavaScript Programming Guide
Thai language
Kontentblue Publishing

About This Site

I use this site to share my knowledge in form of articles. I also use it as an experimental space, trying and testing things. If you have any problems viewing this site, please tell me.

→ More about me

→ Contact me

→ Me on facebook

Creative Commons Attribution License

creative commons logo

This license lets you distribute, remix, tweak my articles, even commercially, as long as you credit me for the original creation.

ด้วยสัญญาอนุญาตินี้ คุณสามารถเผยแพร่ ดัดแปลง แก้ไขและนำบทความของผมไปใช้ แม้ในเชิงธุรกิจ ตราบใดที่คุณได้อ้างอิงกลับมาและให้เครดิตกับผม