Управление файлами: обрабатывается ли уровень доступа к данным бизнес-уровня? - PullRequest
0 голосов
/ 06 февраля 2009

Итак, я работаю над этим веб-приложением, следуя модели репозитория, подражателю DDD, используя StructureMap .... бла, бла, бла ...

Один аспект приложения позволяет пользователям загружать и управлять файлами.

Где, какой слой должен отвечать за управление сохранением / удалением этих пользовательских файлов?

Бизнес-уровень, или уровень доступа к данным ...?

По какой-то причине это не кажется прямым ответом ...

Исторически, я просто добавил это в GUI, но стремился быть более программно правильным и переосмысливать, что должно обрабатывать эти сервисы. Может быть, я просто ответил на свой вопрос ...

Ответы [ 5 ]

1 голос
/ 04 августа 2011

Я создаю отдельный слой «Уровень доступа к хранилищу (SAL)» .... Получение информации о файле от DAL Я передал ее в SAL и SAL вернул мне правильный файл .... так что если я когда-нибудь переключусь на веб-сервисы Amazon из хранилища веб-хостинга я просто поменяю классы в SAL, подключу DLL и буду готов к работе .... потому что пользователь будет загружать файл так же, как и раньше, поэтому пользовательский интерфейс не изменяется ..... бизнес-правила применяется так же, как и раньше, поэтому BLL не изменяется .... База данных не изменилась, и информация о файле сохраняется так же, как и раньше, поэтому DAL не изменяется ...... Единственное, что изменилось, был протокол для доступа к файлу ... Так что просто поменяйте SAL

0 голосов
/ 08 декабря 2010

Это в полной остановке DAL.

Бизнес-логика не должна зависеть от ввода-вывода в вашей среде.

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

0 голосов
/ 06 февраля 2009

Я поместил свой в DAL, так как мы рассматривали данные файлов, в которых нужно обновить или запросить, просто через другой «протокол», который был System.IO.

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

0 голосов
/ 06 февраля 2009

Dillie-O - Более того, если приложение когда-либо переключалось на хранение файлов от ввода-вывода до БД, DAL является более логичным местом. Некоторая гибкость ...

0 голосов
/ 06 февраля 2009

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

...