2010-07-08 3 views
3

Я завершил проект студента, этот проект извлекает данные из xml-файлов в Интернете и сохраняет в базе данных и отображает его. И я использую эти данные несколькими способами. отображение на главной странице, на другой вкладке в виде таблицы и создание некоторых графиков.Как сделать приложение, пригодное для исправления/обновления?

Я сделал все это, сделав 5 различных классов. Каждый класс извлекает разный тип XML и сохраняет его в базе данных с помощью одной функции Load().

Последнее требование проекта состоит в том, чтобы сделать приложение обновляемым/исправляемым (пользователю не нужно загружать всю новую сборку для обновления приложения, вместо этого небольшой установщик патча добавит функцию в приложение). Как мне это сделать? Мой учитель говорит, что добавление полиморфизма поможет, друг говорит, что создает разные модули приложения (разбивайте его на части), чтобы каждый класс имел свою собственную dll.

Какие шаги мне нужно сделать, чтобы сделать его доступным для патчей? Как создать dll классов? как разбить приложение на части? Или все это не нужно, я должен просто использовать патч-программное обеспечение, которое создает патч, сравнивая обе сборки?

ответ

1

Что вы хотите сделать, это выполнить следующие действия:

  1. Создание новых проектов класса в вашем решении, 1 для каждого из классов, которые вы имеете.
  2. Добавьте ссылку на свой основной проект, по 1 для каждого нового проекта, который вы создали.
  3. На этом этапе все должно компилироваться и, как сказал Хенк, если вы не меняете публичную часть сборок, все должно быть хорошо.

Если вы хотите сделать еще один шаг, создайте новый интерфейс и интерфейс реализует методы в ваших классах. Все классы реализуют этот интерфейс. До тех пор, пока интерфейс не изменится, вы можете изменить все, что захотите, относительно сборок и классов (пока ваши классы продолжают реализовывать интерфейс)

+0

«Добавьте ссылку на ваш основной проект, по 1 для каждого нового проекта создано «. но Хенк Холтерман ниже сказал, что «выберите оригинальный проект и используйте ссылку Добавить, чтобы добавить asm» – SMUsamaShah

+0

В любом случае, спасибо. Я получил некоторое представление о том, как добавить dll. Поскольку я сказал, что в настоящее время я унаследовал весь свой класс от одного класса, который содержит некоторые функции извлечения данных (извлекает innerText узла и преобразовывает его в требуемый тип). Правильно ли этот подход? Если это так, я наследую все DLL-проекты из этого класса? извините, если спросили что-то глупое – SMUsamaShah

+0

Теперь я создал DLL. Как сделать исправление для этого? Люди говорят о ClickOnce, но он обновляет приложение. Хотя мне нужно создать патч установщика, который будет обновлять библиотеку или другие файлы моего приложения? – SMUsamaShah

Смежные вопросы