Слой данных перемещает данные в слой BL, верно?и как это сделано? - PullRequest
0 голосов
/ 13 июля 2011

Я создаю оконную службу, которая отслеживает папки и передает файлы (данные с вложениями), например dropBox.
Я хочу построить его с N-уровневым дизайном.
* Можно ли спроектировать слой DATA для передачи данных в BLL?
Может ли уровень данных иметь некоторую логику с filesystemWatcher, который отслеживает, как папка получает созданный файл и передает его в BL, не вызывает ли BLL вызов уровня данных и не наоборот?

Ответы [ 2 ]

1 голос
/ 13 июля 2011

Как правило, уровень доступа к данным / хранилище абстрагирует доступ к базовому источнику данных. Он должен быть как можно более тонким, предпочтительно ограниченным обработкой всего, что связано с постоянством данных. Из того, что вы описали, не похоже, что у вас есть что-то подобное.

Вместо этого я бы собрал серию классов обслуживания (не путать со службами Windows), которые отвечают за обработку различных типов бизнес-логики, связанной с мониторингом файловой системы, который вы пытаетесь выполнить. У вас может быть одна служба, которая отслеживает папки, и другая служба, которая отвечает за передачу файлов. Затем вы можете построить слой поверх тех классов обслуживания, который отвечает за координацию различных операций.

Имеет ли это смысл?

0 голосов
/ 13 июля 2011

DAL существует для сохранения состояния вашего приложения. Это решение технической проблемы ненадежности памяти и т. Д.

Файловая система - это внешняя система, вы не можете предполагать, что она принадлежит только вашему приложению. Вы не можете принять его состояние и сказать, что оно принадлежит исключительно вам.

Вот почему вы общаетесь с ним и спрашиваете все, что вам нужно. Вы можете попросить его уведомить вас, когда произойдет что-то интересное (FileSystemWatcher). И тогда вы можете действовать соответственно (передача файлов).

Итак, мониторинг файлов определенно не входит в обязанности DAL. Вероятно, это будет какой-то демон, который контролирует файловую систему, а затем передает работу в BL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...