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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.06.2017, 09:02   #1  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
650 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от ax_mct Посмотреть сообщение
При этом если бы не было в системе ООП вообще а было что-то типа процедурно getPrimaryVendor_SalesLine(salesLine) то я бы не плакал. И клиент не рыдал

То есть пользы от ООП в АX я не вижу, только вред.
Технически код
X++:
vendor = salesLine.getPrimaryVendor();
трактуется компилятором так:
X++:
vendor = SalesLine::getPrimaryVendor(salesLine);
где SalesLine тупо работает как scope, т.е. область видимости, а salesLine - табличная переменная.
сам метод интерпретируется как
X++:
public VendTable getPrimaryVendor(SalesLine _salesLine)
{
;
    this = _salesLine;
    ...
}
Работа с this происходит неявно и нам удобнее работать с меньшим числом параметров. Но дело не в этом.
ООП предназначено для другого: наследование, инкапсуляция и полиморфизм. Не будь наследования, мы бы погрязли в дублировании кода. Полиморфизм позволяет работать с базовым классом, и не держать руку на пульсе, каждый раз спрашивая себя, а с функцией какой сущности (то бишь класса) я работаю?
Вот инкапсуляция - это да, она конкретно не доработана. Очень не хватает свойств, хотя методы доступа get/set/parm есть, но с ними не так удобно.
__________________
// no comments
Теги
sysoperation framework

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_ModelElementData_HasModelId_LayerId". The conflict occurred in database "YourDataBaseName_model", table "dbo.Model" Blog bot DAX Blogs 0 23.05.2014 13:11
Dynamics AX Sustained Engineering: Performance issue in "Open Transaction Edit" form Blog bot DAX Blogs 0 26.10.2009 20:05
Зачем нужны "Параметры кодов аналитики"? Кирилл DAX: Программирование 2 16.04.2004 14:22
Зачем нужна "Потребность в номенклатуре" Tony Green DAX: Функционал 4 02.02.2004 00:24

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

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

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