Цитата:
Сообщение от
CDR
X++:
void processDefaultData()
{
;
processData(data1);
processData(data2);
processData(data3);
processData(data4);
....
}
ИМХО, в подавляющем большинстве Аксаптовых случаев это наиболее простой, быстрый, наглядный, гибкий и т.д. способ обработки статичных начальных данных без всяких коллекций и хранилищ.

да, спасибо.
во-первых, я забыл записать этот способ. а он обсуждался.
это будет способ 5.
во-вторых,
чтобы так написать нужно чтобы processData был реентерабельным.
в принципе, не такое уж усложняющее требование. но все-таки.
в-третьих, я не зря упомянул в теме про классы.
при таком подходе, класс-потомок сможет только добавлять начальные данные, но не изменять начальные данные родителя.
X++:
class foo
{
void processDefaultData()
{
;
processData(data1);
processData(data2);
processData(data3);
processData(data4);
....
}
....
}
class fooBar extends foo
{
void processDefaultData()
{
; // как в этом методе изменить/убрать из списка data3?
super();
processData(data5);
....
}
}
в-четвертых, инициализация динамического списка может потребоваться чтобы выполнить какую-нибудь пред-обработку. Так, например,
LedgerVoucher суммирует движения по... Ой, я же не пишу про учет. Ок, например, Query не позволяет удалять Range. Поэтому, по-уму надо бы сначала провести оптимизацию range'й.
в общем, бывают случаи, когда совсем статический подход не работает.
но согласен - это очень хороший подход в большинстве случаев.