AlexandrY 3 28 ноября, 2019 Опубликовано 28 ноября, 2019 · Жалоба Just now, alexunder said: Все понятно. Мы говорим о разных вещах. У SqLite, конечно же, нет GUI, ведь это система управления файловой БД, зачем ей GUI? А поддержка, о которой я писал заключается в поддержке на уровне модели данных. Моя солидарность с Вашим текстом была по поводу того, что сохранять параметры приложения (особенно, если их много и существует некая регулярная структура) лучше в образе файла БД, нежели INI или еще чего текстового. Вы же говорите о компонентах визуализации табличных данных. Не сомневаюсь, что таковые в VCL весьма хороши, я бы тоже мог привести парочку примеров для .Net, но не стану захламлять и без того ушедшую от основного обсуждения тему. Мы не захламляем тему, а формируем основу архитектуры утилиты для тестирования сетевого прикладного протокола. Настройки и система хранения данных в этой архитектуре - важнейший компонент. Именно для того чтобы самому не строить формы представления табличных данных я и предложил MS Access. В .NET вы не назовете мне ни одного достойного сравнимого по скорости реализации и фичам решения. Я и в VCL такого не знаю в штатной комплектации. DevExpress не считаем, поскольку он одинаков и в .NET и в VCL. И даже с ним будет тяжелее чем в MS Access. Но в VCL есть нативные адаптеры к .mdb файлам. Т.е. присутствия самого MS Access для работы VCL приложения не надо. А вот SqLite надо разворачивать обязательно. Реляционные связи таблиц также значительно удобнее строить графически в Access чем неизвестно в чем для SqLite. Для обработки данных в реальном времени применять надо таблицы в памяти. Вот тут вы могли бы что нибудь предложить из .NET и мы бы померялись их производительностью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexunder 4 28 ноября, 2019 Опубликовано 28 ноября, 2019 · Жалоба 39 minutes ago, AlexandrY said: Мы не захламляем тему, а формируем основу архитектуры утилиты для тестирования сетевого прикладного протокола. Настройки и система хранения данных в этой архитектуре - важнейший компонент. О, как! :) 39 minutes ago, AlexandrY said: Именно для того чтобы самому не строить формы представления табличных данных Речь о визуальном компоненте или о чем-то еще? Если о виджете, то их существует достаточное количество, разница между VCL и .Net, что у первого из коробки компоненты приятнее, у .Net же крутые компоненты предоставляются сторонними поставщиками. Обычно визуальному компоненту скармливается модель данных и/или сами данные. По модели и строится отображение (это в общих словах). Например, в .Net есть так называемая Entity Framework, с помощью которой система модель->структура БД выставляется прямым и простым способом. Не спорю, что в чем-то MS Access наверное удобен визуальнее. Мне пока не приходилось с ним работать применительно к обсуждаемой задаче (хранение конфигурации). 39 minutes ago, AlexandrY said: 39 minutes ago, AlexandrY said: В .NET вы не назовете мне ни одного достойного сравнимого по скорости реализации и фичам решения. Может быть и не назову. Хотя я не до конца понимаю, что именно вы имеете ввиду под решением. 39 minutes ago, AlexandrY said: Но в VCL есть нативные адаптеры к .mdb файлам. Т.е. присутствия самого MS Access для работы VCL приложения не надо. Адаптеры есть и в .Net, не требующие фактического приложения. Вообще, adapter pattern довольно стандартная вещь применительно к разным поставщикам БД и не только БД. Ну, прекрасно, что создатели VCL позаботились о таковом для MS Access. В этом нет ничего удивительного. 39 minutes ago, AlexandrY said: А вот SqLite надо разворачивать обязательно. Это что-то новенькое. Вы уверены, что ни с чем иным SqLite не путаете? Ничего "разворачивать" не требуется. Достаточно в проекте в MSVS через менеджер пакетов (NuGet) подвязать SqLite к вашей программе. Вот и вся недолга. 39 minutes ago, AlexandrY said: Реляционные связи таблиц также значительно удобнее строить графически в Access чем неизвестно в чем для SqLite. Скорее всего, да. Тут уж дело вкуса. 39 minutes ago, AlexandrY said: Для обработки данных в реальном времени применять надо таблицы в памяти. Вот тут вы могли бы что нибудь предложить из .NET и мы бы померялись их производительностью. Понятно, что таблицы находятся в памяти, где ж им еще быть... Непонятно, почему вы постояно говорите о таблицах. Ведь данные из БД (допустим, при чтении SqLite файлика) преобразуются в классы и структуры, которые затем отображаются виджетами в зависимости от модели, если мы все же говорим о конфигураторе. А как они в памяти хранятся, разве это так актуально? Попробуйте переформулировать мысль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 29 ноября, 2019 Опубликовано 29 ноября, 2019 · Жалоба 8 hours ago, alexunder said: Скорее всего, да. Тут уж дело вкуса. Понятно, что таблицы находятся в памяти, где ж им еще быть... Непонятно, почему вы постояно говорите о таблицах. Ведь данные из БД (допустим, при чтении SqLite файлика) преобразуются в классы и структуры, которые затем отображаются виджетами в зависимости от модели, если мы все же говорим о конфигураторе. А как они в памяти хранятся, разве это так актуально? Попробуйте переформулировать мысль. Эт все равно что сказать - выбор между ассемблером и С - дело вкуса. На этом дискуссию сразу можно заканчивать. Сказавший явно не пробовал C-и. Так и тут. Упоминание LINQ и этого ручного кодирования без нормального визуального проектирования и рефакторинга, как в MS Access, ссылка на некие виджеты, когда речь о полнофункциональных таблицах только убеждает в невозможности адекватной дискуссии. Ничего в классы не надо преобразовывать. Мы говорим об утилите пишущейся за день-два. Если начнете кодировать классы в исходниках, то застрянете как те же питонщики или PHP-шники не добравшись даже до сути задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexunder 4 29 ноября, 2019 Опубликовано 29 ноября, 2019 · Жалоба 2 hours ago, AlexandrY said: Эт все равно что сказать - выбор между ассемблером и С - дело вкуса. Нет. 2 hours ago, AlexandrY said: Упоминание LINQ и этого ручного кодирования Я не упоминал Linq, но, забавно, что Вы его упомянули. Значит, что-то все таки пробовали, но у Вас не получилось, видимо, не разобрались как следует. Зачем же теперь злиться из-за этого на .Net? Про "разворачивание" SqLite тоже удивили. Я вот, например, не работал так плотно с MS Access, но и не пишу о нём полной ерунды, как это делаете Вы о системах, с которыми не имели опыта взаимодействия. 2 hours ago, AlexandrY said: Ничего в классы не надо преобразовывать. Мы говорим об утилите пишущейся за день-два. Вы даже толком не смогли сформулировать о какой именно задаче идет речь и что там у Вас пишется. Какой-то поток случайных фраз. 2 hours ago, AlexandrY said: ссылка на некие виджеты, когда речь о полнофункциональных таблицах только убеждает в невозможности адекватной дискуссии. Виджеты - общий термин для UI Control, это может быть просто кнопка, а может быть компонент для отображения табличных данных. Из сказанного Вами в последних сообщениях можно сделать вывод, что о таких понятиях как Модель-Представление, к сожалению, Вы даже не слышали, но при этом претендуете на специалиста по приложениям с графическим интерфейсом пользователя. В данном случае я не вижу смысла продолжать эту дискуссию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 29 ноября, 2019 Опубликовано 29 ноября, 2019 · Жалоба 14 minutes ago, alexunder said: Я не упоминал Linq, но, забавно, Потому и не упомянули , что больше упомянуть нечего. Это ж известный финт конем - напустить многозначительности, а потом из этой многозначительности выковыривать смыслы. Разворачивание SqLite - это: скачать либы, проверить совместимость с платформой, сформировать структуру базы, подключить к своему проекту, включить в пакет инсталляции. Движок же Access, да будет вам известно, идет как штатная библиотека во всех поставках Windows. Его не надо тащить собой и инсталлировать. 20 minutes ago, alexunder said: Виджеты - общий термин для UI Control, это может быть просто кнопка, а может быть компонент для отображения табличных данных. Типичное выворачивание смыслов. Тогда назовите виджетами и полностью все ваши программы, будет еще веселей. Естественно, когда сидишь с мантрой "Модель-Представление", то подняться и посмотреть как можно сделать быстрее и иначе уже нет сил. Еще раз укажу на ваше заблуждение, а оно в том что вы не поняли роль GUI и по прежнему ссылаетесь на некие способы работы с текстом. А текст и есть ваш стопор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexunder 4 29 ноября, 2019 Опубликовано 29 ноября, 2019 · Жалоба 49 minutes ago, AlexandrY said: Потому и не упомянули , что больше упомянуть нечего. Это ж известный финт конем - напустить многозначительности, а потом из этой многозначительности выковыривать смыслы. В чем конкретно я "напустил многозначительности"? По-моему, этим грешите Вы. 49 minutes ago, AlexandrY said: Разворачивание SqLite - это: скачать либы, проверить совместимость с платформой, сформировать структуру базы, подключить к своему проекту, включить в пакет инсталляции. Я Вам выше написал, как "разворачивается" SqLite. Пожалуйста, прочтите мое сообщение снова. Вы по-прежнему настаиваете, что нужно что-то скачивать и проверять совместимость с платформой. Это нонсенс. Ничего подобного не требуется. 49 minutes ago, AlexandrY said: Типичное выворачивание смыслов. Тогда назовите виджетами и полностью все ваши программы, будет еще веселей. Нет никакого переворачивания смыслов. Вы называете "таблицами" то, что у всех остальных зовется ui control или виджет. 49 minutes ago, AlexandrY said: Естественно, когда сидишь с мантрой "Модель-Представление", то подняться и посмотреть как можно сделать быстрее и иначе уже нет сил. Это не мантра, а способ построения приложений, который подразумевает одинаковую работу с данными независимо от графической части. В частности, именно на таком принципе отделения мух от котлет и строятся приложения, у которых один и тот же функционал доступен как из командной строки, так и через UI. Хороший пример в этой теме привел @Harbinger с ситуацией, когда МК нужно запрограммировать "батником" или из командной строки. В общем же случае разделение модели и вида еще и упрощает тестирование приложения. 49 minutes ago, AlexandrY said: Еще раз укажу на ваше заблуждение, а оно в том что вы не поняли роль GUI Да, куда уж мне :) Александр, я не собирался с Вами спорить и не хочу полемизировать в этой теме. Если тезисно, то мой мессадж был такой. Я тоже за использования систем БД для хранения конфигурации приложения (именно это обсуждалось, когда я влез в тему). Другое дело, что я предложил SqLite в качестве компактной БД. Возможно Ваш опыт требовал использования MS Access в силу более комплексной структуры данных, а так же доступности соответствующих компонентов из VCL. Тут могу только порадоваться за Вас, раз обладаете легальным доступом к средствам разработки от Embarcadero. Не имею желания дальше с Вами спорить. Если Вам будет от этого легче, считайте, что Вы победили :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 10 29 ноября, 2019 Опубликовано 29 ноября, 2019 · Жалоба 15 часов назад, AlexandrY сказал: если мы базируемся на VCL есть в VCL готовые компоненты для хранения настроек приложений? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться