Проблема не в использовании в конструкторе или где-либо еще, проблема в использовании глобальной переменной. Было бы намного лучше передать request
экземпляром, чтобы показать зависимость в API модели:
class Model {
final ModelData data;
Model(Request request, int model_id) {
data = request.getDataFromWebServices(model_id);
}
}
или создайте более описательный фабричный метод:
class Model {
static Model createModelFromWebServices(Request request, int model_id) {
return new Model(request.getDataFromWebServices(model_id));
}
final ModelData data;
Model(ModelData data) {
this.data = data;
}
}
Я использовал примитив int
вместо Integer
, потому что хотел показать, что null
не является допустимым значением для model_id
.