Параметры просто хранятся в этом объекте Application.application.parameters, и это статично. Нет причины, по которой вы не могли бы получить к ней доступ из других классов в вашем коде.
Если вы хотите написать класс, который упаковывает параметры (может быть, проверяет их или что-то еще), вы можете сделать это довольно легко. Вы можете использовать для каждого цикла, чтобы перебрать все параметры. Что-то вроде:
var params:Object = Application.application.parameters
for(var name:String in params) {
var value:String = params[name] as String;
/* do something with the param */
}
Если вы хотите, чтобы ваш класс действительно что-то проверял, он мог бы просто проверить каждый ожидаемый параметр и сохранить его в локальной переменной.
Это действительно зависит только от ваших предпочтений. Некоторые люди в порядке, когда им нужен доступ к объекту параметров. Некоторым людям нравится иметь дополнительное завершение кода, имея класс конфигурации, который фактически определяет все ожидаемые переменные конфигурации.
Обновление в ответ на комментарий:
Вместо того, чтобы один модуль объявлял переменную, а другие модули должны были зависеть от этого, чтобы получить доступ к свойству, было бы лучше иметь единственный модуль конфигурации, который будет использовать все, что ему нужно.
Вы можете использовать статический класс или синглтон или что-то вроде IoC. Просто для простоты я покажу вам, как вы можете сделать это с помощью статического класса.
class MyConfig {
private static var _infoService:String;
private static var _someOtherParam:int;
public static function get infoService():String { return _infoService; }
public static function get someOtherParam():int { return _someOtherParam; }
public static function initParams():Void {
var params:Object = Application.application.parameters;
_infoService = params.infoservice;
// just assuming you have a method to convert here. don't remember the
// code off the top of my head
_someOtherParam = convertToInt(params.someOtherParam);
}
}
Убедитесь, что при инициализации вашего приложения оно вызывает MyConfig.initParams (). Вы можете сделать так, чтобы этот метод действительно проверял, что он получает все, что ожидает, и генерирует исключения (или возвращает ошибку), если есть ошибка, если хотите.
Тогда везде, где вам нужно использовать эту конфигурацию в вашем коде, вы просто импортируете свой класс конфигурации и получаете доступ к параметру. Таким образом, получение infoService будет просто:
var infoService:String = MyConfig.infoService;
Лично я бы не использовал статический класс, но это было проще всего показать.