|
0 / 0 / 0
Регистрация: 17.08.2024
Сообщений: 13
|
||||||
Архитектура приложения и ООП03.09.2024, 09:53. Показов 1540. Ответов 21
Метки нет (Все метки)
Всем привет!
У меня есть вопрос по разработке архитектуры приложения. Есть классы-модели World, Person, Organization. World - это класс, хранящий в себе списки Person и Organization. Также в World хранится информация о SQLiteConnection, что дает мне возможность из этого класса запускать запросы в базу данных. Person и Organization вытаскиваются из базы данных SQLite. В отличие от World в этих классах нет SQLiteConnection, что не дает мне возможности из них запускать запросы в базу данных. Все хорошо, что иногда есть потребность прямо из класса Organization получить данные поле Person manager, имея только его идентификатор int managerID. Без коннектора в базу данных это сделать невозможно. Ну или, например, хочется в классе Person добавить метод saveToDatabase, чтобы все изменения его полей можно было сохранить в базу. Опять же без коннектора это не сделать. Может есть какой-то способ прокинуть этот коннектор в Person и Organization без использования конструктора? Просто экземпляры этих классов создает SQLiteConnection и он явно не передает туда сведения о себе самом. Ниже код, написал в онлайн редакторе, так как я не дома и нет у меня доступа к компилятору, но принцип должен быть понятен.
0
|
||||||
| 03.09.2024, 09:53 | |
|
Ответы с готовыми решениями:
21
Правильная ООП архитектура Архитектура приложения Архитектура приложения |
| 05.09.2024, 09:09 | |||
interface IRepository<T>, вот его и следовало реализовать.
1
|
|||
|
Модератор
|
||
| 05.09.2024, 21:17 | ||
private void MainForm_Load - это Code Behind Формы, то есть тоже часть View (Форма - это тоже контрорл).При правильной реализации Формы (View) и Модель (а репозиторий это часть Модели) располагаются в сборках у которых даже ссылок нет друг на друга. Но это замечание в виду названия вашего топика Архитектура приложения и ООП.ООП это не только создание и использование объектов, но и соблюдение ООП паттернов.
0
|
||
| 05.09.2024, 21:17 | |
|
При создании статического класса нарушалась вся архитектура приложения Архитектура консольного приложения по типу паттернов MVVM, MVC, MVP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|