Помогите с архитектурой системы

C# базы данных net

Подскажите, пожалуйста, способ реализовать систему. Задача заключается в следующем: написать систему, основанную на базе данных, которая должна расширяться с помощью подключаемых модулей. Т.е. есть базовое приложение, использующее базу данных. К этому приложению позднее будут написаны модули, которые также будут использовать эту базу данных. Сейчас это реализовано при помощи dll. При вызове модуля из меню главного приложения, приложение находит название модуля и путь к нему из базы данных и загружает его и далее вызывает определенный метод из этой dll, параметром которого является подключение к базе данных. К примеру, подключение происходит следующим образом:

Assembly privateAss = Assembly.LoadFrom(strModulePathAndName);
MethodInfo info = privateAss.GetTypes()[0].GetMethod("Run");
Object obj = info.Invoke(null, null);

Мой вопрос: на сколько это правильное решение и что можно применить еще для решения этой задачи.

Примечание:
>> to John Omega
Модули могут взаимодействовать друг с другом через БД, т.е. они должны работать в единой информационной среде. Смысл программы как раз в том, что бы позднее дополнять программу новыми модулями или переписывать уже имеющиеся.

Примечание:
>> to John Omega
Я рассматривал такой вариант. В моем случае вместе с путем до dll будет храниться большое число параметров, таких как путь до файла справки, настройки, id группы пользователей. Мне кажется, что так будет проще.

Примечание:
>> to minotawr
спасибо за ссылочку

Примечание:
>> to Mikant
Почему при расширении такой подход не сработает?
Ответы:
А зачем хранить пути к модулям в БД?! У вас их миллион что ли? или между ними какие-то особые отношения, требующие БД? Просто просканить директорию на наличие dll не прокатит?
3й день вижу этот вопрос и прямо даже не знаю что сказать. С одной стороны Ваш подход правильный, но с другой - при расширении системы настолько, насколько Вы говорите, он НЕ сработает. сейчас же, не вдаваясь в подробности, крайне рекомендую хотя бы изучить системы плагинов VS20.. .  иначе все умрет. хотите решить задачу - можно встретиться в личке
Источники данных для программы\ее модулей никак не влияют на технологию работы с самими модулями. Что вам мешает хранить модули просто в виде файлов в определенной директории и при этом тянуть данные для них из БД?
2 доп4 ^ потому что очень быстро запутаетесь в непонятных объектах - это раз, потому что начнутся проблему в активации этих самых экземпляров (скажите спасибо .net) . пойдут сборки подгруженные несколько раз. пойдут с одинаковыми именами и пойдут сборки, которые нельзя выгрузить. то есть, да, в стерильных условиях у Вас дома или на работе может все и будет ОК, но не на машине клиента. пробовали - знаем


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.