Показать сообщение отдельно
Старый 12.04.2011, 23:27   #43  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Если честно, не совсем понимаю смысл создания отдельного динамического хранилища для статичных начальных данных (данных по умолчанию).
Зачем придумывать и создавать коллекцию для этих данных, что бы потом тратить время (и свое и процессорное ) на:
  • заполнение этой коллекции данными
  • на извлечение данных из этой коллекции для их последующей обработки

Поясню на примере.
Что подразумевает использование отдельно-выделенного хранилища данных? Использование как-минимум двух методов.
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);
    ....
}
ИМХО, в подавляющем большинстве Аксаптовых случаев это наиболее простой, быстрый, наглядный, гибкий и т.д. способ обработки статичных начальных данных без всяких коллекций и хранилищ.
__________________
Dynamics AX Experience

Последний раз редактировалось CDR; 12.04.2011 в 23:37.
За это сообщение автора поблагодарили: mazzy (2).