วันอาทิตย์ที่ 13 เมษายน พ.ศ. 2557

คึกอยากจะทบทวน Spring Framework part 1

ถ้าเรายังหัดเดินเหมือนๆกัน เรามาร่วมกันแชร์นะครับ

ถาม : Framework คืออะไร สำคัญอย่างไรทำไมต้องศึกษา?
ตอบ : มันคือความคิดครับ เป็นความคิดในการแก้ไขปัญหา ก็ตามแต่ framework นั้นๆจะประกาศตนเองว่าสามารถจัดการกับปัญหาอะไรได้บ้างและได้อย่างไร ก็จะมีรูปแบบหรือวิธีการที่เรียกว่า API มาให้ใช้ และเมื่อเราปฏิบัติตามแนวทางที่มันได้วางไว้ ปัญหาก็จะถูกแก้ไขในที่สุด อย่างไรก็ตามก็ต้องเลือก framework ให้ถูกกับปัญหาที่ประสบอยู่ด้วยนะครับ

ถาม : Spring Framework เหตุใดจึงน่าใช้?
ตอบ : นั้นก็เพราะว่า framework ของจาวาที่มีมาก่อนหน้านี้ (เช่น Struts เป็นต้น) ผูกพันธ์กับ Enterprise Java Bean (EJB) มากเกินไป (ผมก็ไม่เคยเขียน EJB) เข้าใจว่าเมื่อ EJB มีความสามารถมากขึ้นก็จะซับซ้อนขึ้นเรื่อยๆ (คลาสถูกถ่ายทอดหลายลำดับชั้น) ผู้สร้าง Spring ต้องการลดความซับซ้อนของ EJB จึงได้คิด Spring Framework ขึ้น (ตัดสินใจไม่เอา EJB) เขาต้องการจาวาคลาสธรรมดาอย่างที่ธรรมดาสุดๆ และเรียกจาวาคลาสธรรมดาสุดๆนั้นว่า POJO พร้อมกับบอกว่า Spring นั้น...
- Reduce the complexities of Enterprise Java development
- POJO base and Interface driven
- Lightweight and unobtrusive compared to older J2EE methodologies
- AOP / Proxiex
- Built around patterns and best practices

ถาม : Plain Old (หรือ Ordinary) Java Object (POJO) แจ่มอย่างไร?
ตอบ : ผมเป็นผู้ชายชอบผู้หญิงสวย เก่งและเริด (EJB) แต่เมื่อคบพวกเธอไปสักระยะหนึ่งแล้ว (แน่นอนว่าอาจหลายปี) ผมไม่สามารถจัดการความ art พวกเธอได้ ตรงกันข้ามเมื่อผมได้รู้จักสาวบ้านนา คนบ้านนอก (POJO) ผมบอกกับตัวเองในวินาทีนั้นว่า เธอช่าง...
- Testability
- Maintainability
- Scalability
- Complexity
- Business Focus (ตรงนี้คือจุดขายสำคัญครับ คิดแต่การแก้ปัญหาพอ เรื่องอื่นไม่อาว จะ config จะ exception ฯลฯ ไปที่อื่น ไม่ต้องเขียนอยู่หน้าเดียวกัน)

ถาม : คิดถึง Spring Framework ต้องคิดถึง MVC ใช่ไหม?
ตอบ : ใช่เกือบ 100% สำหรับงานที่ผมเห็นโดยทั่วไปเมื่อมีการกล่าวถึง Spring Framework ครับ แต่ตัวของ framework ไม่ได้สร้างเพื่อ MVC เท่านั้น เสน่ห์ของมันอยู่ที่...
- Removes configuration / lookup code
- Developers can focus on the business needs
- Code can focus on testing
- Annotation or XML base development
ดังนั้นเรานำมันมาใช้กับ application ทั่วไปได้ด้วยนะเออ มันเวิร์กก็เพราะว่า (เน้นอีกครั้ง)
- Everything is a simple POJO
- Essentially a glorified HashMap
- Can be used as a Registry
เห็นไหม ยังไม่พูดถึง MVC เลย

ถาม : ไม่เคยใช้ framework อะไรมาก่อนเลย มีแต่พื้นฐานจาวาธรรมดา จะเรียนรู้ได้อย่างไรล่ะ?
ตอบ : งั้นตามผมมาสำหรับ part 2 เรามาจำลองการใช้จาวาธรรมดาแบบมี pattern กันก่อน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น