Если честно, не совсем понимаю смысл создания отдельного динамического хранилища для статичных начальных данных (данных по умолчанию).
Зачем придумывать и создавать коллекцию для этих данных, что бы потом тратить время (и свое и процессорное
) на:
- заполнение этой коллекции данными
- на извлечение данных из этой коллекции для их последующей обработки
Поясню на примере.
Что подразумевает использование отдельно-выделенного хранилища данных? Использование как-минимум двух методов.
1. Метод, в котором коллекция заполняется данными.
X++:
void initDataCollection()
{
;
dataCollection = new DataCollection(Type);
dataCollection.append(data1);
dataCollection.append(data2);
dataCollection.append(data3);
dataCollection.append(data4);
.....
}
2. Метод, в котором данные извлекаются из коллекции в каком-то цикле для последующей обработки.
X++:
void processDataCollection()
{
while(dataCollection.more())
{
processData(dataCollection.getData());
dataCollection.next();
}
}
Т.е. сначала СТАТИЧЕСКИЕ данные запихиваются в ДИНАМИЧЕСКУЮ коллекцию, что бы потом их оттуда обратно извлечь. Какой смысл в этих действиях? Что мешает использовать один метод, в котором сразу и вызывать обработку СТАТИЧЕСКИХ начальных данных (данных по умолчанию)?
3. Метод, в котором сразу обрабатываются статические данные без заморочек со всякими коллекциями-хранилищами.
X++:
void processDefaultData()
{
;
processData(data1);
processData(data2);
processData(data3);
processData(data4);
....
}
ИМХО, в подавляющем большинстве Аксаптовых случаев это наиболее простой, быстрый, наглядный, гибкий и т.д. способ обработки статичных начальных данных без всяких коллекций и хранилищ.