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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.07.2013, 12:42   #1  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
DAX 2012 и шаблоны проектирования
К шаблонам проектирования все относятся по разному - кто то молится на них, кто то на дух не переваривает, ну а основная масса DAX разработчиков про них просто не знает

Выскажу такое мнение - если вы разработчик DAX 2012 то узнать про шаблоны требуется в обязательном порядке, а следующие две книги

Приемы объектно-ориентированного проектирования. Паттерны проектирования
Архитектура корпоративных программных приложений

обязательны к изучению. Просто потому что те, кто проектировал DAX 2012 про шаблоны знали и применяли. Как применяли и каковы результаты применения уже другой вопрос. Но вопросов "а что это за хрень?", "что они курили?", "#####%%%%%ьььь????" и прочих подобных после изучения станет в разы меньше. Просто вы станете "видеть" эти шаблоны в системе, сможете сравнить то что получилось в DAX с тем что пишут в книжках/интернетах, сможете агрументированно высказывать своё мнение.

Книг по этой тематике немало, но ИМХО разработчикам DAX начинать надо с тех что я написал.
За это сообщение автора поблагодарили: mazzy (2), AlGol (1), Garic (2), Vadik (1), Ruff (1), AlexeyS (1), Logger (3), gl00mie (1), S.Kuskov (1), SRF (1), dech (1), АртемМелихов (1).
Старый 06.05.2014, 13:14   #2  
NetBus is offline
NetBus
Участник
 
200 / 85 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
Цитата:
Просто потому что те, кто проектировал DAX 2012 про шаблоны знали и применяли.
а те кто проектировал DAX 2009? знали? применяли?
Старый 06.05.2014, 13:29   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от NetBus Посмотреть сообщение
а те кто проектировал DAX 2009? знали? применяли?
Если сравнивать с 2012 то в DAX 2009 вообще ничего нового не проектировали. Проект взяли из AX 4.0 а тот в свою очередь из 3.0 и т.д.
Старый 07.05.2014, 00:26   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от NetBus Посмотреть сообщение
а те кто проектировал DAX 2009? знали? применяли?
Я лично не видел 4.0, так что мое мнение может быть ошибочным, но, к примеру, в 2009-й появились примеры использования шаблона listener/subscriber, которого даже рядом не было в приложении 3.0, широко стал применяться шаблон "стратегия", ему даже посвятили отдельную тему в MSDN. Вообще, по-моему, в 2009-й отметились люди из C#, которые попытались "программировать с использованием языка, а не на языке" X++.
За это сообщение автора поблагодарили: Logger (3), NetBus (1), S.Kuskov (1).
Старый 07.05.2014, 10:18   #5  
AlexeyS is offline
AlexeyS
Участник
 
404 / 339 (12) ++++++
Регистрация: 15.06.2004
Адрес: москва
и похоже, придется вплотную заняться C#, так как есть подозрение, что через пару лет X++ в Аксапте может отойти на второй план.
Старый 07.05.2014, 10:21   #6  
NetBus is offline
NetBus
Участник
 
200 / 85 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
я так думаю что X++ в стратегии Microsoft уже умер =))) т е "живой труп" или "хромая утка" используя политическую аналогию
Старый 07.05.2014, 10:44   #7  
AlexeyS is offline
AlexeyS
Участник
 
404 / 339 (12) ++++++
Регистрация: 15.06.2004
Адрес: москва
Цитата:
Сообщение от NetBus Посмотреть сообщение
я так думаю что X++ в стратегии Microsoft уже умер =))) т е "живой труп" или "хромая утка" используя политическую аналогию
Согласен. Отказ от X++ дает много преимуществ для MS:
Во-первых, C# программистов больше и поэтому дешевле, поэтому корпоративным заказчикам будет проще закрыть вакансии при внедрении и поддержке. Это дает больше возможностей для расширения рынка для MS
Во-вторых, X++ уже сейчас используется только для бизнес-логики и может компилироваться в CIL
И в третьих, поддержка еще одного языка требует дополнительных ресурсов
IMHO
Старый 08.05.2014, 12:51   #8  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Вообще, по-моему, в 2009-й отметились люди из C#, которые попытались "программировать с использованием языка, а не на языке" X++.
Они там не только "отметились", такое впечатление, что там пробежала орда сишарперов, которые под впечатлением от разрыва шаблона "not invented here", переписали кучу кода на C#-style. Проще говоря - наняли толпу людей с опытом C#, но совершенно без бэкграунда AX, которые попереписывали куски по своему пониманию. Всё бы ничего, но существующие инструментальные средства разработки в AX совершенно не готовы (да хотя бы те же перекрестные ссылки, не говоря уже о рудиментарности средств работы со сложными иерархиями классов) к существующей теперь структуре API. Как они со всем этим управлялись - неведомо. Впрочем, скрипя зубами, это можно пережить. Оттенков вкуса от новой версии добавляют еще и отчеты в SSRS (особенно приятно сливать новые версии отчетов)...
Да, если человек все время варился в кухне AX, то отставание от существующих подходов к разработке, определенно, накапливается. И книги из первого поста позволят наверстать упущенное за последние лет 5-10 (примерно к тем временам, если не более ранним, относится появление концепции "шаблонов проектирования").Другое дело, что вменяемый разработчик бОльшую часть этих шаблонов и сам применяет, просто не давая им конкретного названия. Они - суть просто готовые "рецепты" со своими областями применимости.
Еще далеко шагнуло версионирование (появление GIT),
По ходу написания пришла мысль. Будет забавно, если в Аксапту лет через 5-10 докатится мода на "ленивые вычисления" или функциональщину... Интересно, во что это выльется?
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...

Последний раз редактировалось Maximin; 08.05.2014 в 12:54.
За это сообщение автора поблагодарили: mazzy (2), lev (2).
Старый 08.05.2014, 18:49   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Maximin Посмотреть сообщение
Будет забавно, если в Аксапту лет через 5-10 докатится мода на "ленивые вычисления" или функциональщину... Интересно, во что это выльется?
Не знаю, связано ли это с модой на функциональщину, но в том же чудо-модуле TRAX, который появился в R3, куча мест в коде написана так: по входным данным заполняется XML-ка, дергается поставляемая с модулем .NET-сборка - бульк! - на выходе получаем другую XML-ку, которая раскладывается по нужным таблицам. В итоге видим, что "что-то не срослось", как следствие, тариф не подобрался, перевозчик не определился, в общем, идите лесом. Чего ей надо, почему не подобралось ничего - поди догадайся. Ладно еще, если дело окажется в том, что во входной XML-ке значения енума передались русскими метками, а сборка ожидала увидеть там название элементов енума латиницей, такое можно раскопать "методом пристального взгляда", а в остальном - черный ящик...
За это сообщение автора поблагодарили: Logger (3).
Старый 08.05.2014, 19:42   #10  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Сообщение от gl00mie Посмотреть сообщение
в том же чудо-модуле TRAX, который появился в R3
Н-да... R3 не видел, но с ваших слов представил себе подход так:
X++:
public static AnyKibeniki TRAX()
{
    Tibidox  tibidox;
    ;
    return #Magic;
}
Можно даже предложить новый термин - "Стыдливые вычисления"

А по теме - книжки конечно полезны, но имхо, с паттернами эффективней знакомиться по исходникам какого-нибудь активно развивающегося OpenSource проекта, благо их сейчас в достатке, на любом языке и по любой тематике.
__________________
Старый 09.05.2014, 01:57   #11  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Не знаю, связано ли это с модой на функциональщину, но в том же чудо-модуле TRAX, который появился в R3, куча мест в коде написана так: по входным данным заполняется XML-ка, дергается поставляемая с модулем .NET-сборка - бульк! - на выходе получаем другую XML-ку, которая раскладывается по нужным таблицам. В итоге видим, что "что-то не срослось", как следствие, тариф не подобрался, перевозчик не определился, в общем, идите лесом. Чего ей надо, почему не подобралось ничего - поди догадайся. Ладно еще, если дело окажется в том, что во входной XML-ке значения енума передались русскими метками, а сборка ожидала увидеть там название элементов енума латиницей, такое можно раскопать "методом пристального взгляда", а в остальном - черный ящик...
Ну, тут проблема только в том, чтобы публичный интерфейс движков красиво был документирован. Смотреть внутрь вовсе не обязательно (хотя, конкретно для TMS, код C# для движков идет в комплекте). А вот если вы интергируетесь с внешним сервис-провайдером типа UPS - вот тогда действительно черный ящик, и уповать придется только на задокументированный API. Но это - нормально..
Старый 09.05.2014, 02:03   #12  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Maximin Посмотреть сообщение
Они там не только "отметились", такое впечатление, что там пробежала орда сишарперов, которые под впечатлением от разрыва шаблона "not invented here", переписали кучу кода на C#-style. Проще говоря - наняли толпу людей с опытом C#, но совершенно без бэкграунда AX, которые попереписывали куски по своему пониманию.
Можно долго спорить, хорошо это или плохо, но Майкрософт всегда нанимает людей с учетом стратегии "One Microsoft", соответственно только-Х++-чики нам не подходят, многие из тех, кого я рекомендовал попробовать получить у нас работу, валились на простых вопросах проектирования или кодирования не Х++ задач.

Но я продолжаю зазывать людей с опытом АХ к нам в МС - так что если есть желающие - у нас двери открыты, позиции свободны. Милости просим.
Старый 06.05.2014, 15:20   #13  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
До AX2012 RecId не использовался как полноценный ключ.
Плюсом для АХ4 и выше стало появление Unit Testing.
__________________
// no comments
Старый 07.05.2014, 12:03   #14  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
По моим ощущениям, у опытного разработчика (на любом языке) на изучение X++ уходит порядка 2-3 недель. На изучение среды исполнения (в общем - как решать задачи по формированию форм, работе с контроллами, отчетами и тп) уходит порядка 6-8 месяцев. На изучение собственно прикладного ядра до приличного уровня - года 3-4-5 (как повезет). Перевод на C# позволит сэкономить аж 2-3 недели из 3-4-5 лет. Большой прогресс. Безусловно оправдяет слом всей среды...
За это сообщение автора поблагодарили: mazzy (2), BOAL (2), AlexSD (3), lev (6), S.Kuskov (1), GBH (1).
Старый 07.05.2014, 14:48   #15  
AlexeyS is offline
AlexeyS
Участник
 
404 / 339 (12) ++++++
Регистрация: 15.06.2004
Адрес: москва
Изучить X++ легче, чем C#, это верно, только проблема не в этом, а в том, что X++ это довольно узкая ниша и грозит стать еще уже.
Поэтому для программиста нужен существенный довод, чтобы с широко распространенного C# перейти на более простой и менее востребованный, ведь вернуться обратно будет сложнее.
Тут ситуация как с Delphi - есть проекты, есть вакансии, но если ты уже опытный программист на другом языке, то на Delphi вряд-ли пойдешь, так как в дальней перспективе - неперспективно.
Поэтому постепенно перейдем на C# в течение нескольких лет, ничего страшного.
Старый 07.05.2014, 15:22   #16  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от AlexeyS Посмотреть сообщение
Изучить X++ легче, чем C#, это верно, только проблема не в этом, а в том, что X++ это довольно узкая ниша и грозит стать еще уже.

Поэтому постепенно перейдем на C# в течение нескольких лет, ничего страшного.
Вот когда явшиков на работу берут, там почти всегда указывают кого ищут - server side developer, swingиста, JMEшника и тп. Аналогично для C# указывают кого ищут - server side или WPF. Боюсь, что с навыком C# AX у тебя в С# server-side или в C# WPF шансов найти работу будет намного меньше чем у явщика с навыками server side или Swing соответственно. То есть - технология первична, язык - вторичен.
Если продолжать пример с Delphi - была еще такая среда разработки C++ Builder, фактически Delphi сделанный на языке C++. И этим самым программистам на C++ Builder сейчас найти нормальную работу не намного легче чем Дельфистам. Потому что чтобы с VCL переучиться на MFC+ATL, сил нужно потратить почти столько же сколько на изучение C++ +MFC+ATL с ноля (при условии наличия общего программистского опыта конечно).

Последний раз редактировалось fed; 07.05.2014 в 15:55.
За это сообщение автора поблагодарили: ax_mct (2).
Старый 07.05.2014, 18:38   #17  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Да-да, теперь можно прочесть книгу С# за 21 день и идти работать АХ разработчиком, смишно. В любой среде разработки главное не язык, а знание технологий и непосредственное опыт. В Акспте требуется не просто кодить, а понимать архитектуру, функционал, бизнес процессы и еще много много других вещей которые к тому же еще и между версиями могут очень отличаться. Так что армия дотнетчиков это все сказки. Мне кажется единственная цель с которой МС переводит АХ на дотнет это более гибкие возможности интеграции с другими компонентами, продуктами и системами. Все остальное имхо этого не стоит.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 07.05.2014, 19:07   #18  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Link Посмотреть сообщение
Так что армия дотнетчиков это все сказки. Мне кажется единственная цель с которой МС переводит АХ на дотнет это более гибкие возможности интеграции с другими компонентами, продуктами и системами. Все остальное имхо этого не стоит.
На самом деле - то что для нас сказка ("Да вы разработчиков на любом C# форуме наймете за 50000 в месяц"), для сейлов - важный sales point при работе с клиентским Айтишником. Ни о каких интеграциях тут и речи не идет. Просто в любом продукте должны быть "бусы для дикарей", которые облегчают его продажу тем сотрудникам клиента, которые совсем не в теме и задают не те вопросы. На мой взгляд - и перевод на C# и workflow и интеграция с Analysis Services - из этой оперы....
За это сообщение автора поблагодарили: mazzy (2), Logger (3), gl00mie (2).
Старый 08.05.2014, 13:55   #19  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от AlexeyS Посмотреть сообщение
Тут ситуация как с Delphi - есть проекты, есть вакансии, но если ты уже опытный программист на другом языке, то на Delphi вряд-ли пойдешь, так как в дальней перспективе - неперспективно.
Я бы поспорил. Мне до сих пор на фрилансе приходят предложения по Delphi. Между прочим Skype тоже написан на Delphi, платежная система Апельсин, а также различные улучшалки производительности Windows от фирмы Auslogics Software. Так что здесь как посмотреть...
__________________
// no comments
Старый 08.05.2014, 18:13   #20  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
На последнем проекте был хороший программист из C#. Написал с нуля вывод во внутренние отчеты AX. Типа полное разделение уровня дизайна и кода, ни строчки кода в AOT/Report. Красиво, я оценил, но мне хотелось его придушить.
Теги
ax2012, шаблон

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX 2012 шаблоны ГФО cM3 DAX: Функционал 9 23.10.2014 00:50
DAX: How to gain additional value from the Microsoft application platform with Microsoft Dynamics AX 2012 R2 Blog bot DAX Blogs 3 21.06.2013 15:16
amer-ax: It was a great day! Blog bot DAX Blogs 3 29.12.2012 01:02
DAX: Official Dynamics AX 2012 R2 Content (update) - Where is it, and how can you find out about updates? Blog bot DAX Blogs 0 03.12.2012 11:11
dynamicsaxtraining: Purchase Blog bot DAX Blogs 0 11.03.2012 05:25

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

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

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