Какой правильный слой для сокетного соединения?
Я думаю, что нет правильного ответа на этот вопрос - если у меня есть модуль, который отвечает за соединение и передачу данных с сервером (используя простое сокетное соединение, а не случай веб-службы), правильно ли ставить этот модуль под мой доступ к данным сборка слоя или я должен создать другой слой (сервисный слой) для этой работы?
Спасибо!
2 ответа
Вы получаете доступ к данным, вы хотите, чтобы они проходили в слое... Уровень доступа к данным довольно сложный.
Это то, что вам нужно: Глава 8: Рекомендации уровня данных
Обратите внимание на часть "Service Agent" уровня данных на рисунке 1 и его соответствующее описание. Короче говоря: DAL - это место, где вы хотите передать все данные своему бизнес-уровню, и DAL должен знать, как получить эти данные.
Конечно, вы, скорее всего, захотите каким-то образом абстрагировать DAL (репозиторий?), Потому что, если завтра ваша служба источника данных на основе сокет-соединения добавит поддержку веб-службы, возможно, вы захотите легко ее также поддерживать. В этом случае вы просто изменили бы реализацию Service Agent в своем DAL, не затрагивая ничего ни на бизнес-уровне, ни в репозитории.