Показать сообщение отдельно
Старый 08.03.2016, 20:55   #52  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Неправильный ответ: тупой заменой dll-ек мы получим знаменитый виндовый DLL Hell. В Windows легче ставить заплатки за счет поддержки установки side-by-side (SxS), когда в системе одновременно присутствуют разные версии одних и тех же dll-ек (в т.ч. управляемых сборок), необходимые для разных приложений или сервисов. В такой системе, как Аксапта, очевидно, эта аналогия не работает, потому что одновременная работа нескольких версий расчета цен/скидок или разноски журналов никому не нужна - максимум может быть несколько версий презентационной логики.
Ээээ... Я не раскрыл мысль о количестве dll-лек. DLL Hell возникает при большом количестве dll-лек разных версий. Я предполагал, что их будет очень мало - вплоть до одной единственной. В АХ 2012 ведь по сути так оно и есть. Какие бы обновления не выпускались - в конечном счете все равно требуется пересобрать итоговый CIL, т.е. итоговую dll-ку.

Допустим, выпустил MS систему RTM-версии, состоящий из одной мега-dll-ки. Затем решил переделать механизм Dimensions. Переделал - выпустил фикс системы - выпустил эту новую мега-dll-ку. Изменились интерфейсы реализации - партнеры поставили этот апдейт, подкрутили у себя свой код своих расширений в связи с этим; как-то решили проблему обновления данных (вот этот вопрос кстати пока еще слабо проработан. Если приложение без кастомизации - вопросов нет - контрольный список все делает. А если с кастомизацией, то по идее партнеры должны также расширять контрольный список уже своими скриптами - но ... кто это делает в реале?). В результате - все обновились на эту новую мега-dll-ку и все счастливы . Знание исходного кода dll-ки не потребовалось.

Конечно, если dll-лек несколько - то проблемой совместимости нужно озадачиваться. И тут нам приходит на помощь расширения (packages) в АХ 7, которые контролируют зависимость объектов. Т.е. какие-то совсем независимые конструкции можно выделить в отдельные dll-ки, но уж зависимые - никак нельзя.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
Но мне лично кажется, что пройдут годы, прежде чем такой рефакторинг будет реализован - если вообще будет, потому что приоритеты у вендора и KPI у его сотрудников могут оказаться совершенно иными.
Ну человеческий фактор никто не отменял. Но ... кто до выхода 2012 еще мог подумать, что в АХ 7 клиента Windows выкинут "в топку" и все уйдет в Visual Studio (примеры можно еще попридумывать)? Т.е. тоже казалось - что пройдут годы и все такое... Поэтому - будет на то воля - процесс ускорят. Не будет воли - не ускорят .
Но развитие событий в ключе возможного закрытия исходного кода - я бы не исключал. Безусловно - с кучей оговорок.

В общем - поживем-увидим. Спасибо за интересное обсуждение.
__________________
Возможно сделать все. Вопрос времени