AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.08.2017, 10:55   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от belugin Посмотреть сообщение
Да, теоретически такая возможность есть. Не все теоретические возможности на практике реализованы.
...
Я уже высказал свое мнение по этому поводу в соответсвующем треде.
Ясно. Спасибо, Макс, за твое очень ценное мнение.
Если собираешься продолжать в таком же духе подмены понятий, то, пожалуйста, воздержись от участия в этой ветке. Буду очень признателен.

Для тех же, кто хотел бы разобраться. Вопрос:
ПОЧЕМУ? ЗАЧЕМ сделано или не сделано именно так?

Цитата:
Сообщение от macklakov Посмотреть сообщение
Ты уже почти ответил на свой вопрос Какая из этих технологий пренадлежит MS? Даст ли использование этих подходов приемущество в патентных войнах?
Ок. Предположим.
Но снова приходим к тому, что альтернативно-перпендикулярных возможностей было дофига и больше. Почему выбрано именно это? Случанойсть или таки было что-то, что не видно?

===================
Из личных обсуждений у меня возникает стойкое ощущение, что я плохо сформлировал "что есть" и "что могло бы быть" - народ просто не врубается.

Итак, старый добрый SysOperationProgress:
* одна операция один класс
* в одном классе замешаны хранилище данных, маршаллинг данных, диалог, собственно обработка
* допускается наследование классов-обработок
* предоставляется фреймворк, от которого надо унаследовать свой класс и встроиться в фреймворк
* отлаживать надо один класс
* класс полностью управляет своим состоянием, инициализацией и восстановлением параметров, отображенем себя в UI. В частности, сам занимается отображением своего прогресса и прочим информированием пользователя о своем состоянии.


Новый SysOperation (уже обсужался неоднократно):
* несколько формально и синтаксически независимых, но при этом очень сильно семантически связанных классов
* наследовать от базовых классов не нужно (нет базовых классов)
* встраивание во фреймворк происходит через атрибуты (и соответственно, через рефлекшн)
* создание классов-наследников от собственного происходит с трудом (потому что атрибуты не наследуются)
* класс обработка (в стандарте) не занимается своим состоянием, инициализацией и восстановлением параметров, не имеет доступа к UI. В частности, не может отображать прогресс и не может информировать пользователя о своем состоянии.

по сути изменений два:
1. вместо наследования - не наследуемые атрибуты
2. вместо все-в-одном - группа очень тесно связанных классов
3. вместо обычного класса - обязательно сервис

Супер-новая штука в ax7 SysOperationSandBox (не обсуждался):
* класс-обертка для фреймворка SysOperation
* позволяет написать один вызов, чтобы вызывать обработку фреймворка SysOperation произвольный статический метод произвольного класса.
* отображает на экране инфо-окно специального вида.


===================
Собственно какие альтернативы были:
например, миксины
вместо атрибутов (и рефлекшн) пойти в interface и наследование от интерфейсов.
другими словами, написать интерфейсы для datacontract, service, controller

не требовать, чтобы это были отдельные классы, а позволить создавать любые классы, которые имплементируют интерфейсы. в старой доброй аксапте уже начали ходить в эту сторону. См. runbase, enumerator и прочие. (см. скриншот ниже)

по крайней мере, не сломалось бы наследование.
хотя, соглашусь, гибкость такого решения чуть меньше, чем у атрибутов. но и разбираться было бы легче.

почему не пошли дальше?
зачем сменили курс?

===================
я абсолютно не верю в то, что между клиентом и сервером невозможно передать данные. потому что вижу примеры других систем, где эти данные вполне передаются. также вижу и аксапту с ее "новым" инфологом.
поэтому не катит.

я абсолютно не верю в то, что на передачу данных идут какие-то большие накладные расходы. извините.

я абсолютно не понимаю, почему нельзя было отрисовать форму на клиенте в рамках старого доброго SysOperationProgress.

однако вижу, что кто-то принял решение - SysOperationProgress не нужен.
лично меня абсолютно не устраивает "объяснение" в стиле "Не все теоретические возможности на практике реализованы."
Меня не интересуют ВСЕ теоретические возможности.
И возможности SysOperationProgress вовсе не теоретические.
Считаю ответ в таком стиле чистой воды демагогией.

Я хочу понять логику этого товарища (или группы товарищей) в отношении SysOperationProgress, SysOperation, SysOperationSandbox.
Я хочу понять ПОЧЕМУ?

Понять я хочу, чтобы эффективно использовать это понимание в своей работе. И сделать продукт более конкурентноспособным.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 453
Размер:	43.1 Кб
ID:	11617  
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 29.08.2017 в 11:17.
Старый 30.08.2017, 02:41   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,347 / 996 (38) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от mazzy Посмотреть сообщение
Понять я хочу, чтобы эффективно использовать это понимание в своей работе. И сделать продукт более конкурентноспособным.
У меня сложилось впечатление, что разработчки и консультанты на партнерах и клиентах не рассматриваются как клиент. Поэтому язык и инструментарий делаются под нужды продуктовой команды. И поэтому ими очень неудобно пользоваться на внедрежах.
Т.е. если нужен инструментарий удобный для внедренца, его надо писать отдельно. Но т.к. удобство внедренца в приоритетах не значится, систему неожиданно изменят и инструмент придется преписывать заново. По этой причине хороших инструментов на рынке мало. И по этой причине на внедрежи в бюджет не укладываются и бывают проблемы с прохождением аудита. И поэтому продукт агонизирует. И поэтому на замену AX выстраивается линейка 365 компонент.
__________________
Isn't it nice when things just work?

Последний раз редактировалось macklakov; 30.08.2017 в 02:54.
Теги
#страшнодалекиониотнарода

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mfp: X++ in AX7: String truncation Blog bot DAX Blogs 6 29.05.2020 18:24
mfp: What is new in X++ in AX7? Blog bot DAX Blogs 2 10.02.2016 00:29
Пример использования RunBuf Mechanizm DAX: Программирование 11 02.03.2004 13:25
Пример использования класса RunBase* Andronov DAX: Программирование 3 17.09.2003 13:12
HB_Tutorial_setTmpData - пример использования метода setTmpData vitk DAX: База знаний и проекты 0 10.12.2001 15:26

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:39.