ฉันกำลังเข้าสู่ Inversion of Control โดยเฉพาะการใช้ Guice
และ RoboGuice
สำหรับ Android และฉันมีคำถาม
ฉันมีการเรียกเมธอดที่ส่งคืนทรัพยากร (ซึ่งโดยพื้นฐานแล้วคือสตริง XML หรือ JSON)
public Resource getResource(){
// Some implementation details that call a web service and throw the result in a string...
String resource = ........
}
จริงๆ แล้วคลาส Resource
เป็นเพียงการรวม String
ไว้ ดังนั้นฉันคิดว่ามันสมเหตุสมผลที่จะส่งต่อมันไปในตัวสร้าง เนื่องจากมันเป็นส่วนสำคัญของวัตถุ Resource
public class Resource{
Resource(String theXMLorJSON){
...
}
}
คำถามสองสามข้อ:
- ฉันจะสร้าง
Resource
ใหม่ในการเรียกgetResource
ได้อย่างไร ฉันคิดว่าฉันต้องการใช้ IoC และไม่โทรnew
ในวิธีการ - หากคลาสอื่นใช้
Resource
ในตัวสร้าง ฉันจะใช้คอนเทนเนอร์Guice
เพื่อสร้างมันได้อย่างไร เมื่อฉันต้องการไดนามิกString
ในเวลาก่อสร้าง ฉันเพิ่งถามคำถามที่คล้ายกัน และเชื่อว่าอาจมีวิธีเฉพาะในการจัดการกับสิ่งนี้โดยใช้Guice
.
ขอบคุณมาก!