Tags:
Google

กูเกิล Guice (อ่านออกเสียงเหมือน Juice) เป็นอีกหนึ่งโปรเจ็กที่โดดร่วมเข้าแข่งขันในสนาม IoC เฟรมเวิร์ก โดยมีไอเดียคือใช้แต่ annotation ล้วนๆ

IoC (Inversion of Control) หรืออีกชื่อที่เท่กว่า dependency Injection กลายเป็นแบบรูปที่ฮิตติดลมบน ตั้งแต่ Rod Johnson นำเสนอ Spring ซึ่งเป็นทางเลือกที่แตกต่างจาก JavaEE 4 แต่ Spring โตมาในยุคที่ใครๆ ก็ใช้ XML ในการทำคอนฟิคไฟล์

การมาของ Java 5 ได้ทิ้งมรดกที่สำคัญหลายอย่างไว้ หนึ่งในนั้นคือ annotation การใช้ annotation โผล่มาได้จังหวะที่คนทนไม่ไหวกับ XML พอดี และการนำ annotation มาใช้แก้เกมใน Java EE 5 ช่วยลดขั้นตอน เป็นอะไรที่ตรงตัวและช่วยให้การทำงานเป็นสามัญสำนึกมากขึ้น

Guice นำเสนอทางเลือกที่ต่างจาก Spring มีความสามารถที่น่าสนใจดังนี้

  • สามารถที่จะฉีด dependency ลง field, constructor, method ใดๆ (ไม่จำเป็นต้องเป็น setter method)
  • การคอนฟิคทุกอย่างอยู่ในรูป annotation ล้วนๆ
  • ผู้ใช้สามารถจัดการกับขอบเขต ช่วงชีวิตของ dependency ที่ถูกฉีดเข้าไป
  • สนับสนุน AOP ร่วมกับ AOP Alliance
  • การรายงานข้อผิดพลาดที่ตรงประเด็น เข้าถึงบรรทัดที่มีปัญหา อ่านง่าย
  • เล็กกว่า ง่ายกว่า และเร็วกว่า ไม่ขึ้นกับ container อย่างแท้จริง

สนใจดาวน์โหลด Guice 1.0 หรืออ่านรายละเอียดการเปรียบเทียบกับ Spring ได้ที่นี่

ที่มา - Guice

Comments

By: idome
idome's blog
on 11/03/07 22:20 #17801 toggle
idome's picture

สงคราม IoC Framework

เหมือน google จะพยายามทำ product ทุกอย่างที่บน โลกนี้มี...........

By: anu
Contributor
anu's blog
on 11/03/07 23:30 #17804 toggle
anu's picture

อ่านแล้วตึ๊บเลยครับพี่น้อง ดับอนาถ.

By: mk
FounderAndroidRed HatWindows
mk's blog
on 12/03/07 7:11 #17814 toggle
mk's picture

เฟรมเวิร์ก

By: bact
bact's blog
on 12/03/07 23:39 #17871 toggle
bact's picture

ใช้กับ Groovy ได้มะ ? :P