|
08.03.2016, 18:34 | #1 |
Участник
|
Цитата:
Сообщение от sukhanchik
По поводу систем: Это смотря с какой стороны смотреть на идеи. Берем Windows и Linux. В Linux код относительно Windows открыт. Вопрос: Какую легче систему апгрейдить? Ответ: Windows, т.к. там просто надо заменить dll-ки, да в реестр внести изменения (я конечно утрирую, но в целом - заменить dll-ки проще, чем исходный код).
Цитата:
Сообщение от sukhanchik
сейчас делаются все шаги, чтобы разработчикам можно было бы не править исходный код, а можно было бы обходиться расширениями. И как только MS наберет статистику, что потребности в модификации исходного кода нет - достаточно представить только интефейсы реализации. Т.е. сегодня никто не говорит. Может и завтра никто не скажет. Но послезавтра могут и заикнуться. Это же сильно упрощает обновление
Но мне лично кажется, что пройдут годы, прежде чем такой рефакторинг будет реализован - если вообще будет, потому что приоритеты у вендора и KPI у его сотрудников могут оказаться совершенно иными. |
|
|
За это сообщение автора поблагодарили: sukhanchik (3). |
08.03.2016, 20:55 | #2 |
Administrator
|
Цитата:
Сообщение от gl00mie
Неправильный ответ: тупой заменой dll-ек мы получим знаменитый виндовый DLL Hell. В Windows легче ставить заплатки за счет поддержки установки side-by-side (SxS), когда в системе одновременно присутствуют разные версии одних и тех же dll-ек (в т.ч. управляемых сборок), необходимые для разных приложений или сервисов. В такой системе, как Аксапта, очевидно, эта аналогия не работает, потому что одновременная работа нескольких версий расчета цен/скидок или разноски журналов никому не нужна - максимум может быть несколько версий презентационной логики.
Допустим, выпустил MS систему RTM-версии, состоящий из одной мега-dll-ки. Затем решил переделать механизм Dimensions. Переделал - выпустил фикс системы - выпустил эту новую мега-dll-ку. Изменились интерфейсы реализации - партнеры поставили этот апдейт, подкрутили у себя свой код своих расширений в связи с этим; как-то решили проблему обновления данных (вот этот вопрос кстати пока еще слабо проработан. Если приложение без кастомизации - вопросов нет - контрольный список все делает. А если с кастомизацией, то по идее партнеры должны также расширять контрольный список уже своими скриптами - но ... кто это делает в реале?). В результате - все обновились на эту новую мега-dll-ку и все счастливы . Знание исходного кода dll-ки не потребовалось. Конечно, если dll-лек несколько - то проблемой совместимости нужно озадачиваться. И тут нам приходит на помощь расширения (packages) в АХ 7, которые контролируют зависимость объектов. Т.е. какие-то совсем независимые конструкции можно выделить в отдельные dll-ки, но уж зависимые - никак нельзя. Цитата:
Но развитие событий в ключе возможного закрытия исходного кода - я бы не исключал. Безусловно - с кучей оговорок. В общем - поживем-увидим. Спасибо за интересное обсуждение.
__________________
Возможно сделать все. Вопрос времени |
|