|
![]() |
#1 |
Участник
|
Цитата:
Цитата:
5. При необходимости начать заполнять новое поле в зависимости от других полей во всех местах, где идет создание записей в таблице, достаточно поменять один класс - не надо менять десятки мест в приложении, где об этом поле раньше никто не знал (опять же принцип DRY, снижение стоимости сопровождения). 6. Это, по-моему, очень важно: методы initFromXX могут давать разный результат в зависимости от последовательности их вызова! При реализации AxBC-класса вам вам волей-неволей приходится продумать единую систему приоритезации зависимостей полей. Это сложнее, но зато уменьшает вероятность того, что вроде бы один и тот же код будет работать иначе в разных местах приложения просто из-за разного порядка вызова методов initFromXX. Цитата:
Цитата:
Цитата:
![]() ![]() |
|
|
За это сообщение автора поблагодарили: mazzy (10), Logger (10), DmitrySt (1), konopello (3), wojzeh (1). |
![]() |
#2 |
Участник
|
Спасибо. Круть.
Цитата:
Сообщение от gl00mie
![]() При реализации AxBC-класса вам вам волей-неволей приходится продумать единую систему приоритезации зависимостей полей. Это сложнее, но зато уменьшает вероятность того, что вроде бы один и тот же код будет работать иначе в разных местах приложения просто из-за разного порядка вызова методов initFromXX.
![]() Цитата:
Сообщение от gl00mie
![]() то в долгосрочной перспективе предпочтительным видится подход с использованием AxBC-классов. Он сложнее в реализации, требует фиговой тучи промежуточного кода (который, впрочем, можно во многом сгенерить мастером), требует выворачивания на изнанку привычной логики работы методов initFromXX (там изменили одно поле - и каскадом поменялась куча других, тут надо описывать изменение каждого отдельного "другого" поля в зависимости от возможных изменений кучи "исходных" полей). Но в общем и в целом он существенно снижает стоимость поддержки приложения.
Наизнанку, стало быть... А ведь, правда... Спасибо за хорошее слово... Цитата:
Сообщение от gl00mie
![]() Более того, опять хотел бы вернуться к процитированному фрагменту из "What's New - Technical in Microsoft Dynamics AX 2012 for Development": в следующей версии штатно будет реализована возможность редактировать данные в Excel - то, о чем мечтает, по моим впечатлениям, 95% пользователей Аксапты, особенно работающих с финансами.
Тогда годная задумка... Цитата:
Сообщение от gl00mie
![]() Эта возможность напрямую будет зависеть от наличия и корректности реализации AxBC-классов, так что их реализация и использование сейчас - это еще и большой задел на будущее. Но, разумеется, в определенных условиях (таблица используется лишь в нескольких местах приложения, либо нужно сделать простое решение, а на разработку AxBC-классов никто не выделит бюджет, либо все уже слишком запущено, и на рефакторинг всего существующего кода никто не выделит бюджет) придется использовать лучшее из имеющегося либо создавать "простые" initFromXX-методы.
А есть методика сопряжения старого (initFrom) и нового (axBC) подхода? Или они принципиально несопряжимы? Т.е. можно ли использовать initFrom из axBC-классов? и наоборот, можно ли использовать axBC из InitFrom? какие ограничения? при каких условиях это допустимо, а при каких нет? |
|
Теги |
ax-классы, axbc, как правильно |
|
|