Показать сообщение отдельно
Старый 18.07.2017, 05:56   #143  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
642 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от ta_and Посмотреть сообщение
Я утверждаю, что
1. Для подавляющего большинства (99.9%) прикладных классов на вход нужен хотя бы один параметр.
"Это не есть факт, мсье Дюк." Я не спорю, что любой класс основывается на каких-то исходных данных, но ничего не обязывает передавать их через методы доступа вместо конструктора. В исключительном случае, когда в new() нужно определиться с чем именно работать, да, согласен, это необходимо. Но в том же пакетнике вы не запустите run(), пока не проинициализируете его.
Цитата:
Сообщение от ta_and Посмотреть сообщение
2. Де факто, в ах стандартом для передачи параметров выбран объект класса Аргс.
Да, и обычно это делается методом initFromArgs(). Args предназначен для передачи параметров через MenuItem из форм и меню. Но если класс не вызывается через менюайтем, то это попахивает явным извратом.
Цитата:
Сообщение от ta_and Посмотреть сообщение
3. Аргс уже сейчас используется при инициализации всех интерфейсных объектов (формы, отчеты, запускаемые классы с main, даже джобы!)
Ну естественно. Полностью согласен с этим фактом! Если класс сам по себе имеет возможность запускаться через менюайтем, почему бы даже программно не инициализировать класс через аргс?
Цитата:
Сообщение от ta_and Посмотреть сообщение
Почему не продолжить логику и не сделать передачу аргс обязательным параметром при создании любого экземпляра класса?
Аргс - не панацея. Если классу нужен SalesLines и только он, то зачем городить инициализацию через аргс?
Представьте, что вы пришли в управляющую компанию за справкой. А вам говорят, в течение 5 рабочих дней вы выдадим вам полный комплект документов по вашей квартире. Приходите на следующей неделе." А вы такой: "ну мне же только справку...". А вам отвечают: "Извините, законодательство ввело новый стандарт, на любой запрос мы готовим полный пакет документов."
__________________
// no comments