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

Сообщение EXE vs DLL от 24.12.2019 11:23

Изменено 24.12.2019 11:25 Homunculus

EXE vs DLL
В процессе разработки проекта, так как-то исторически получилось, что работа с обработкой входных данных взял на себя сам заказчик. То есть я делаю графику, GUI, физику — заказчик в этом ничего не понимает, но зато вот данные для всего этого у него хранятся в миллионах Excel таблиц, между ними крайне хитрые связи, в одной ссылка на другую, в этой другой ссылки на еще десять и все в каше и перепутано.

Так вот мы потихоньку по мере развития проекта пришли к такому способу — заказчик пишет небольшие тулзовины, консольные, которые принимаеют на вход некие параметры и выводят на консоль результат или в человекочитаемый JSON файл, я уже это все подцепляю в своей проге и делаю что нужно. То есть папка с прогой выглядит, как набор из 20 exe файлов. Из которых только 1 моя большая прога, остальные — небольшие тулзовины заказчика.

Ясно, что во всех проектах это выглядит как одна EXE и куча DLL

И самое главное — никакой просадки в скорости на реальных тестах — нету. То есть понятно, что получить из DLL прямой укзатель — это будет гораздо производительнее, чем сохранение в json файл и потом чтение из него. Но на реальных тестах в условиях как будет использоваться программа — никаких просадок не заметно.

Но минус DLL в том, что ее функционал так просто не проверишь, надо прогу писать. А у консольной проги плюс — все можно вывести в консоль и посмотреть.

Так вот и вопрос — у нас совсем кривой метод и лучше переделать в DLL-ки? Или вы уже где-то видели такой подход и все нормально работает?
EXE vs DLL
В процессе разработки проекта, так как-то исторически получилось, что работа с обработкой входных данных взял на себя сам заказчик. То есть я делаю графику, GUI, физику — заказчик в этом ничего не понимает, но зато вот данные для всего этого у него хранятся в миллионах Excel таблиц, между ними крайне хитрые связи, в одной ссылка на другую, в этой другой ссылки на еще десять и все в каше и перепутано.

Так вот мы потихоньку по мере развития проекта пришли к такому способу — заказчик пишет небольшие тулзовины, консольные, которые принимаеют на вход некие параметры и выводят на консоль результат или в человекочитаемый JSON файл, я уже это все подцепляю в своей проге и делаю что нужно. То есть папка с прогой выглядит, как набор из 20 exe файлов. Из которых только 1 моя большая прога, остальные — небольшие тулзовины заказчика.

Ясно, что во всех проектах это выглядит как одна EXE и куча DLL

И самое главное — никакой просадки в скорости на реальных тестах — нету. То есть понятно, что получить из DLL прямой укзатель — это будет гораздо производительнее, чем сохранение в json файл и потом чтение из него. Но на реальных тестах в условиях как будет использоваться программа — никаких просадок не заметно.

Но минус DLL в том, что ее функционал так просто не проверишь, надо прогу писать. А у консольной проги плюс — все можно вывести в консоль и посмотреть.

Так вот и вопрос — у нас совсем кривой метод и лучше переделать в DLL-ки? Или вы уже где-то видели такой подход и все нормально работает?

И да, я знаю что такое маппинг файлов в памяти и пайпы, но заказчик не хочет во всем этом копаться, его знание программирования заканчивается на fprintf