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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.08.2013, 21:08   #1  
AxFinder is offline
AxFinder
Участник
 
1 / 10 (1) +
Регистрация: 08.08.2013
Класс как набор статических методов
Здравствуйте!

Есть вопрос по поводу использования класса-набора статических методов, взаимосвязанных друг с другом. Например, в классе (ClassOfStaticMethods) есть статические методы, такие как:

1) Метод создания какого-либо журнала - ClassOfStaticMethods::CreateJournal(ParmTable _parmTable);
2) Метод создания шапки журнала - ClassOfStaticMethods::CreateHeaderl(ParmTable _parmTable);
3) Метод создания строк журнала - ClassOfStaticMethods:: CreateTransl(ParmTable _parmTable);

Последовательность вызова методов:
В CreateJournal вызывается CreateHeader, в CreateHeader вызывается CreateTrans.

В качестве параметра в методы класса передается таблица - ParmTable.
Примечание: необходимости использовать диалог или передавать экземпляр класса для дальнейшей обработки нет.

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

Последний раз редактировалось AxFinder; 08.08.2013 в 21:11.
Старый 09.08.2013, 06:29   #2  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Наивно полагать, что вам потребуется лишь один параметр, как минимум журнал может быть разнесен, либо не разнесен.
Такие методы надо привязывать по смыслу к конкретным классам, например SalesFormLetter_Invoice. Бьюсь об заклад, что статика вам не понадобится, как следствие можно будет обойтись без передачи параметров в метод.
__________________
// no comments
Старый 09.08.2013, 08:44   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Принцип Лисков не выполняется. http://ru.wikipedia.org/wiki/SOLID

Грубо говоря, если вам в будущем понадобится разветвить алгоритм по какому-нибудь новому критерию (новый подтип журнала), то вам придется не только добавлять новые параметры в ParmTable, но и переписывать код статических методов. Считается, что правльным является подход, при котором добавление новой функциональности не затрагивает (или минимально затрагивает) уже существующую.

Последний раз редактировалось S.Kuskov; 09.08.2013 в 09:16.
Старый 09.08.2013, 09:28   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
В аксапте есть стандартный фреймворк для работы с журналами. Посмотрите в качестве примера на классы, формы и таблицы начинающиеся с TutorialJournal*

Создание нового журнала

Последний раз редактировалось S.Kuskov; 09.08.2013 в 09:35.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Переопределение стандартных методов у динамически создаваемых контролов - вопрос с предисторией (многабукаф) TasmanianDevil DAX: Программирование 13 02.08.2012 07:39
Win2008 и вызов методов COM-объектов AndyD DAX: Программирование 13 06.02.2012 15:22
Как правильно хранить статичный набор начальных данных в классах? mazzy DAX: Программирование 58 14.04.2011 12:10
Проблема с передачей контролов из формы в класс matew DAX: Программирование 0 28.04.2008 17:37
Класс xSysLastValue Maxim Gorbunov DAX: База знаний и проекты 0 27.11.2001 17:39
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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