Бизнес-объекты при независимой библиотеке БД
От: CyberRussia  
Дата: 21.03.20 18:15
Оценка:
Добрый день,
Думаю, что ситуация достаточно стандартная, но не знаю как найти ответ в гугле.
Самостоятельное (основное) приложение клиента = GUI + бизнес-логика.
Отдельная библиотека связи с БД (не важно через сервер или напрямую).
В основном приложении нужны бизнес-объекты, данные которых подлежат сохранению в БД. Библиотека БД должна обеспечить это сохранение, при этом основное приложение не должно знать как именно и с какой именно БД осуществляется взаимодействие.
Соответственно, что видится. Сборка основного приложения. Сборка интерфейса описывающего данные бизнес-объектов и методы сохранения/чтения их из БД. Сборка библиотеки взаимодействия с БД.
На первый взгляд все кажется хорошо. Но бизнес объектам хорошо бы реализовать методы, например верификации, сохранения, синхронизации... Реализовывать ту же верификацию должно основное приложение и знать об это реализации библиотеки БД совершенно ни к чему. Но при этом конструктор бизнес-объектов должен быть доступен и основному приложению, и библиотеке БД. Основному приложению, например, чтобы создавать новый бизнес-объект, который после заполнения данными из GUI подлежит сохранению в БД. Библиотеке БД, чтобы создавать множество бизнес-объектов по запросу в БД, чтобы впоследствии основное получение, получив это множество, могло отобразить, например, в гриде.
Соответственно возникает вопрос — где и как необходимо реализовывать класс наследующий интерфейс бизнес-объектов, чтобы все вышеописанное реализовать. При этом как основное приложение, так и библиотека, должны быть взаимонезависимы. Чтобы, при необходимости, библиотеку можно было заменить на другую, просто заменив dll без пересборки основного приложения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.