Подскажите, пожалуйста, способ реализовать систему. Задача заключается в следующем: написать систему, основанную на базе данных, которая должна расширяться с помощью подключаемых модулей. Т.е. есть базовое приложение, использующее базу данных. К этому приложению позднее будут написаны модули, которые также будут использовать эту базу данных. Сейчас это реализовано при помощи 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
Почему при расширении такой подход не сработает?
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.