Информация об изменениях

Сообщение Re[2]: EXE vs DLL от 24.12.2019 16:30

Изменено 24.12.2019 16:49 AlexGin

Re[2]: EXE vs DLL
Здравствуйте, Nuzhny, Вы писали:

N>Не кривой. Даже наоборот, если ты умеешь определять упала программа или нет, правильно ли выдала результат или нет, то путь отличный, главная программа более устойчива к ошибкам. Тем более, что модули пишет не самый опытный программист. Лучше в случае ошибки сказать пользователю, где и как она была, чем упасть самому.

N>В качестве примера с множеством dll можно взять Far: если падает плагин, то он закрывается. Например, я одно время часто пользовался плагином exe browser, чтобы смотреть на зависимости бинарников. Но на некоторых dll плагин падал вместе с самим Fra'ом — очень неприятная ситуация.
N>А так, у тебя Unix way, микросервисы, все дела. Оставляй.

IMHO может ТС и оставит так, вот только микросервисы обычно обмениваются через TCP/IP, а здесь — файлы
При микросервисах — возможно масштабирование системы — на несколько (много) компов.
Ну и поддержка всего этого, при микросервисах окажется все же дешевле и проще.

Я понимаю, что ТСу сложно объяснить Заказчику недостатки данной архитектуры, и если не требуется развития системы — можно забить на это.
Вот только не нужно утверждать, что всё это хорошо...
Re[2]: EXE vs DLL
Здравствуйте, Nuzhny, Вы писали:

N>Не кривой. Даже наоборот, если ты умеешь определять упала программа или нет, правильно ли выдала результат или нет, то путь отличный, главная программа более устойчива к ошибкам. Тем более, что модули пишет не самый опытный программист. Лучше в случае ошибки сказать пользователю, где и как она была, чем упасть самому.

N>В качестве примера с множеством dll можно взять Far: если падает плагин, то он закрывается. Например, я одно время часто пользовался плагином exe browser, чтобы смотреть на зависимости бинарников. Но на некоторых dll плагин падал вместе с самим Fra'ом — очень неприятная ситуация.
N>А так, у тебя Unix way, микросервисы, все дела. Оставляй.

IMHO может ТС и оставит так, вот только микросервисы обычно обмениваются через TCP/IP, а здесь — файлы
При микросервисах — возможно масштабирование системы — на несколько (много) компов.
Ну и поддержка всего этого, при микросервисах окажется все же дешевле и проще.

Я понимаю, что ТСу сложно объяснить Заказчику недостатки данной архитектуры, и если не требуется развития системы — можно забить на это.
Вот только не нужно утверждать, что всё это хорошо...

P.S. Здесь выше уже указывали на недостатки данного подхода.
На мой взгляд — возможно три различных пути (решения проблемы):

1) Монолитное приложение с применением DLL (есть свои недостатки);
2) Монолитное статической линковки. При этом, все приложения Закзчика — это просто классы (с одним общим интерфейсом), а ТС просто сделает юнит-тесты для него;
3) Микросервисы с сетевым обменом;

Лично мне наиболее импонирует 3-й вариант.