Я пытаюсь создать основное приложение, которое использует плагины, чтобы ядро никогда не менялось, и каждый раз, когда мы получаем нового клиента, мы пишем модуль для них.Мы реализуем интерфейс под названием IClientPlugin с новым классом клиентов.
Это использует Compact Framework 3.5 и Windows Mobile 6.5.3.
Итак, вот что мне нужно для достижения:
это система управления складом.Первая задача состоит в том, чтобы получить в продукте от грузовика сканирование штрих-кодов пакетов с помощью портативного устройства.
Основной модуль для этого запускается, когда человек нажимает на элемент меню получения.
основной метод - callClientMethod()
Я знаю имя клиента, оно сохраняется в глобальной переменной при входе в систему, и класс будет {clientname}.cs
и будет содержать метод с именем processReceiving()
.
Я знаю, как создать экземпляр этого объекта.
Вопрос: есть ли способ, которым я могу динамически создать экземпляр класса клиента без жестких инструкций case?
Например, предположим, у меня есть 2клиенты Acme и Widgets.Каждый из них получает клиентский класс, а именно Acme.cs
и Widgets.cs
Если я войду в систему как Acme или Widgets, я хочу, чтобы код динамически создавал экземпляр класса Client, в который я вошел, так, чтобы ядроКод не должен изменяться, так как я добавляю больше клиентов, пока я добавляю для них модуль.
Пример psuedo:
var myClient = New (Clientname)();
Возможно ли это или есть лучший подход к дизайну илиЯвляется ли оператор switch / case необходимым злом?