Я вхожу в 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
.
Большое спасибо!