Начало работы над индексами базы данных и дилемма
Вот и среда подходит к концу. Самый центр недели. Геометрический :) Так что разгон в ритме работы уже должен быть. А вот тут у меня сегодня возникла задача, которая поставила меня перед неким выбором. И я снова разочарован в том, как я организовал архитектуру программы. Как я снова её не додумал. И это меня гнетет похлеще автомобильного пресса. Ну а в общем-то начал было сегодня работать над созданием индексов. И как обычно меня начало кидать то вправо, то влево. Ну, конечно, диалог для создания и настройки индексов для таблиц я сделал и это работает. Но не всегда хорошо. Как и диалог для настройки таблиц. Бывают ситуации (особенно при переименовании оных объектов), когда получаются косяки. Например, теряются данные, которые приаттачены из сохраняемых сериализуемых объектов.
Да, объекты (C#-классы) сущности SQLite объектов не хранятся в сериализованном виде на диске компьютера, они генерируются во время чтения структуры текущей базы данных в подключении. Но ещё для всех объектов БД (которые были созданы через программу) прикрепляются дополнительные объекты с метаданными, которые как раз-таки и хранятся в сериализованном виде на жестком диске компьютера. Так вот, я и на сей раз неудачно организовал архитектуру классов и объектов, благодаря чему я имею немало сложностей при реализации тех или иных функций. А ведь (как я сейчас подумал) всё можно было организовать лучше. Создать C# объекты-сущности SQLite-объектов и в них же хранить метаданные (статистику, даты создания, модификации и т.п.). И хранить эти сущности целиком в сериализованном виде. И только синхронизировать их с SQLite-объектами при соединении с БД и выполнении SQL-запросов.
Но нет же. Я опять всё сделал по дурацки. Так, что теперь опять полно головной боли с возникающими косяками. Но я поклялся жизнью, что не начну больше глобально переделывать программу. Нет и ещё раз нет, никак теперь не могу себе это позволить. Вот отмотать бы время лет на пять назад, тогда... Но нет, нельзя и точка. Времени нет. Все сроки прошляпил. Придется городить костыли, фиксящие эти косяки, либо что-то придумывать именно с архитектурой объектов-сущностей. Но это опять же большая работа по переделыванию хоть и не всей, но существенной части программы. Так что я пока над этим помозгую.

Ну а вот тут меня опять снесло чуть в сторону. Вот в таких окнах (со свойствами объектов) я добавил функцию копирования данных в буфер обмена. Не лишним будет. Так функционал программы будет чуть богаче. Как то так.
Ну и на этом я уже завершу свой рабочий день. Ну и на досуге подумаю, что же делать с данной дилеммой. Так что на этом у меня всё и до новых постов, до новых свершений.



Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.