|
![]() |
#1 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: ax_mct (3). |
![]() |
#2 |
Участник
|
А зачем вам Args, если требуется только создать нужный инстанс?
__________________
// no comments |
|
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Участник
|
Цитата:
X++: public static void main(Args _args) { IdentifierName className = _args ? _args.parm() : classstr(PPO_Base); PPO_Base instance = PPO_Base::construct(className); ; instance.parmRecord(_args.record()); // а так можно? instance.parmArgs(_args); // или вот так? info(strfmt("Class type: %1", instance.getType())); }
__________________
// no comments Последний раз редактировалось dech; 16.07.2017 в 17:14. |
|
|
За это сообщение автора поблагодарили: macklakov (5). |
![]() |
#5 |
Участник
|
Цитата:
Если да, то тогда зачем эти вопросы? Если нет, то попробуйте ответить на вопрос - чем отличаются new и construct? -------- Я утверждаю, что 1. Для подавляющего большинства (99.9%) прикладных классов на вход нужен хотя бы один параметр. 2. Де факто, в ах стандартом для передачи параметров выбран объект класса Аргс. 3. Аргс уже сейчас используется при инициализации всех интерфейсных объектов (формы, отчеты, запускаемые классы с main, даже джобы!) Почему не продолжить логику и не сделать передачу аргс обязательным параметром при создании любого экземпляра класса? Ссылка на то, что так (без параметров) сделано в кривой реализации пакетов и цил - это то же самое, что сказать, что давайте равняться на жигули как на эталон машиностроения, а не на тойоту например.... Последний раз редактировалось ta_and; 17.07.2017 в 21:28. |
|
![]() |
#6 |
северный Будда
|
Можно сколько угодно критиковать подход к реализации пакетника - но он есть, и под это надо подстраиваться. По крайней мере, пока его не изменит МС. Иначе о каком едином подходе в разработке может идти речь? Если каждый разработчик будет использовать только свои собственные паттерны, то можно сразу говорить о нечитабельности кода в целом
__________________
С уважением, Вячеслав |
|
![]() |
#7 |
Участник
|
Цитата:
Цитата:
Цитата:
Цитата:
Представьте, что вы пришли в управляющую компанию за справкой. А вам говорят, в течение 5 рабочих дней вы выдадим вам полный комплект документов по вашей квартире. Приходите на следующей неделе." А вы такой: "ну мне же только справку...". А вам отвечают: "Извините, законодательство ввело новый стандарт, на любой запрос мы готовим полный пакет документов."
__________________
// no comments |
|
![]() |
#8 |
Участник
|
Приведите пример прикладного класса, которому не нужен ни один параметр?
Цитата:
Сообщение от dech
![]() Представьте, что вы пришли в управляющую компанию за справкой. А вам говорят, в течение 5 рабочих дней вы выдадим вам полный комплект документов по вашей квартире. Приходите на следующей неделе." А вы такой: "ну мне же только справку...". А вам отвечают: "Извините, законодательство ввело новый стандарт, на любой запрос мы готовим полный пакет документов."
Скорее - это единый формат для всех справок. Т.е. заголовок, шапка, реквизиты, тело - все отформатировано в едином виде. если чего-то не нужно, то оно просто пропущено. и место остается пустым. Зато мы получаем единый формат всех документов. Если нужно получить реквизиты - мы знаем куда смотреть! Если заголовок - что это за документ - смотрим заголовок! в нужном месте. не думая ни о каких других местах и способах достать что же это за документ перед нами и не переворачиваем документ, чтобы посмотреть на обороте, где рыбу заворачивали. |
|
![]() |
#9 |
Участник
|
Цитата:
Да нет, пример самый подходящий. Что я вижу, исходя из нашего разговора? С одной стороны вы хотите обязать new() принимать параметр и считаете это золотым стандартом (которого, кстати не придерживается M$). С другой стороны вы хотите сделать применение Args стандартом де-факто. Т.е. идеальный вариант для вас, это X++: void new(Args _args) Цитата:
Да и что будет, если так делать, как вы хотите? Представляете сколько параметров передается из метода в метод повсюду? Если все это стандартизовать, то боюсь, что от огромного количества экземпляров данного класса AOS-ы начнут дико свапить на диск, а пользователи сожгут вас на костре.
__________________
// no comments |
|
Теги |
sysextension framework, sysoperation framework, как правильно, полезное |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|