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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.10.2017, 15:16   #1  
ta_and is offline
ta_and
Участник
 
226 / 122 (5) +++++
Регистрация: 26.02.2002
Адрес: СПб
Цитата:
Сообщение от belugin Посмотреть сообщение
Контроллер занимается в том числе и упаковкой и распаковкой в контейнеры.
Пакетник занимается распаковкой и запуском задачи.
Почему сразу не упаковать нужные данные в нужные контейнеры чтобы пакетник просто запустил нужную задачу с нужными данными?.
Зачем здесь контроллер?!
Ежики не скрещиваются.
Цель контроллера - обеспечить вызов процесса с нужными данными.
Цель сервиса - получить данные и выполнить действие.
Цель пакетника - получить данные и выполнить действие.
Объясните мне, пожалуйста, где у меня прокол в логике?
-------
Не надо кивать в сторону сложности реализации.
В пакетнике все равно идет анализ что выполняется - ранБэйз или другой класс.
Почему было не заточить пакетник именно на выполнение сервиса? Без контроллера?
Старый 17.10.2017, 15:33   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от ta_and Посмотреть сообщение
Пакетник занимается распаковкой и запуском задачи.
Почему сразу не упаковать нужные данные в нужные контейнеры чтобы пакетник просто запустил нужную задачу с нужными данными?.
Зачем здесь контроллер?!
Сейчас этим занимается контроллер - (на нем можно переопределить, например lastValue* функции)

Цитата:
Ежики не скрещиваются.
Цель контроллера - обеспечить вызов процесса с нужными данными.
Обеспечение нужными данными может быть кастомное. Вы можете изменить алгоритм упаковки и распаковки. Сейчас это прибито гвоздями к контроллеру (ну еще можно сдедать контракт packable).
Старый 17.10.2017, 20:15   #3  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от ta_and Посмотреть сообщение
Пакетник занимается распаковкой и запуском задачи.
Почему сразу не упаковать нужные данные в нужные контейнеры чтобы пакетник просто запустил нужную задачу с нужными данными?.
Зачем здесь контроллер?!
Ежики не скрещиваются.
Цель контроллера - обеспечить вызов процесса с нужными данными.
Цель сервиса - получить данные и выполнить действие.
Цель пакетника - получить данные и выполнить действие.
Объясните мне, пожалуйста, где у меня прокол в логике?
-------
Не надо кивать в сторону сложности реализации.
В пакетнике все равно идет анализ что выполняется - ранБэйз или другой класс.
Почему было не заточить пакетник именно на выполнение сервиса? Без контроллера?
Как понимаю потому что Контроллер играет здесь еще и роль Фасада к Модели.
При этом Контроллер выполняет часть функций Модели.
Искать логику MVC здесь не стоит, ее просто нет в этой каше.

Есть некая логика выделения бизнес-логики чтобы можно было вызывать ее программно через сервисы и есть имитация MVC через наличие трех частей, хотя достаточно было бы и двух.
Вот эта вот имитация скорее всего и ломает ежиков которые пытаются найти логику там где ее просто нет.

Я вообще предлагаю все классы накрошить на MVC. Взять то же чтение-запись файлов.
А то стыдно прям за неудобренную до конца систему.
Старый 17.10.2017, 21:19   #4  
ta_and is offline
ta_and
Участник
 
226 / 122 (5) +++++
Регистрация: 26.02.2002
Адрес: СПб
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Искать логику MVC здесь не стоит, ее просто нет в этой каше.
Грустно это.
Хотелось как лучше.
А получилось как всегда.
Концепция Контроллера все портит.
Должно было быть сделано все проще и топорней.
Есть контракт - данные - здорово.
Есть контроллер - интерфейсная часть. - вот тут и налажали
Есть сервис - бизнес-логика. - здорово.
---------
Вот если бы не налажали, тогда бы был MVC.
А так - получилось как всегда.
Зачем бизнес-логику обработки и анализа данных было запихивать в контроллер - не понятно.
Дело контроллера маленькое - взять контракт, показать пользователю и отправить сервису.
Зачем усложнять?
Сервис должен сам все знать о данных...
Для особо сложных случаев есть уибилдер и подсовываемые формы.
Но это опять же View.
Т.е. в моем понимании контроллер в АХ должен быть на уровне View.
А его замесили в Controller - Process, без учета специфики Ах классов.
Поэтому у меня ежики и не скрещивались.
Теперь скрестились....
Теги
sysoperation framework

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ax2012. SysOperation Access rights ta_and DAX: Программирование 3 14.09.2017 13:13
Ax2012 SysOperation параметры в два столбца ta_and DAX: Программирование 2 22.08.2017 12:11
Ax2012 SysOperation наследование контрактов. ta_and DAX: Программирование 5 26.06.2017 21:50
stoneridgesoftware: Batch Processing in Dynamics AX 2012 Using SysOperation Framework Blog bot DAX Blogs 0 28.03.2017 00:11
Ax2012 SysOperation Как отличить пакетный режим ta_and DAX: Программирование 1 23.10.2016 21:10

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

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

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