Куда / как должен идти код базы данных в классе / приложении? - PullRequest
0 голосов
/ 01 апреля 2012

Итак, я не знаю, достаточно ли ясен вопрос, но вот моя проблема:

Я пишу небольшое приложение на VB.Net, которое извлекает информацию с веб-сайта и представляет ее пользователю. По сути, я написал класс, который имеет метод Get (URL) , который извлекает веб-страницу, читает ее и заполняет различные свойства (только для чтения) объекта. Этот класс работает нормально.

Теперь я хотел бы сохранить эту информацию в базе данных (сейчас я использую Access), чтобы я мог читать данные из БД, если класс вызывается для известного URL. Поскольку я довольно новичок в ООП и совершенно не знаком с использованием БД в настольных приложениях (хотя никаких проблем при проектировании БД), я не уверен в том, что делать дальше:

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

Я понимаю, что мой вопрос может показаться глупым для самых опытных из вас, но я новичок в этом, и я действительно хотел бы научиться делать вещи правильно в первый раз !! !

Спасибо!

1 Ответ

1 голос
/ 01 апреля 2012

Вот что я бы сделал:

  • Создайте новый класс для кода базы данных и создайте интерфейс для него, который он реализует.
  • Затем создайте другой класс, который имееткод для извлечения веб-данных.Сделайте так, чтобы он реализовывал тот же интерфейс.

Теперь вы можете заменить любой класс для доступа к данным из вашего класса контроллера.

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

Если вы хотите узнать больше по этой теме, посмотрите n-уровневый дизайн приложения.Уровень, о котором вы говорите, - это доступ к данным.

http://en.wikipedia.org/wiki/Data_access_layer

...