А вот еще одна перспектива из окопов! Уровень доступа к данным - это уровень абстракции программного обеспечения, который скрывает сложность / реализацию фактического получения данных. Приложения запрашивают у уровня доступа к данным (см. Шаблон проектирования DAO) «получить мне это» или «обновить это» и т. Д. (Косвенное обращение). Уровень доступа к данным отвечает за выполнение операций, зависящих от реализации, таких как чтение / обновление различных источников данных, таких как Oracle, MySQL, Cassandra, RabbitMQ, Redis, простая файловая система, кеш или даже делегирование другому уровню службы данных. .
Если вся эта работа выполняется на одной машине и в одном приложении, термин «уровень службы данных» эквивалентен «фасаду службы» (косвенное обращение). Он отвечает за обслуживание и делегирование вызовов приложений на правильный уровень доступа к данным.
Несколько сбивает с толку то, что в мире распределенных вычислений или сервис-ориентированной архитектуре уровень сервиса данных может фактически быть веб-сервисом, который действует как отдельное приложение. В этом контексте уровень службы данных делегирует полученные запросы данных восходящего приложения на правильный уровень доступа к данным. В этом случае веб-службы косвенно направляют доступ к данным из приложений - приложению нужно только знать, какую службу вызывать для получения данных, поэтому, как правило, в распределенных вычислительных средах этот подход снизит сложность приложения (и всегда бывают исключительные случаи)
Итак, чтобы было ясно, приложение использует DSL и DAL. DSL в приложении должен взаимодействовать с DAL в том же приложении. У DAL есть выбор: использовать один источник данных или делегировать другому веб-сервису. DSL веб-службы может делегировать работу DAL для этого запроса. Действительно, один запрос веб-службы может использовать несколько источников данных для ответа на данные.
С учетом всего вышесказанного, с прагматической точки зрения, только когда системы становятся все более сложными, больше внимания следует уделять архитектурным шаблонам. Делать все правильно - это хорошая практика, но нет смысла без надобности позолочить свою работу. Помните ЯГНИ? Что ж, это не находит отклика в нужное время!
В заключение: знаменитый афоризм Дэвида Уиллера гласит: «Все проблемы в информатике могут быть решены с помощью другого уровня косвенного обращения» [1]; это часто намеренно неверно цитируется, когда «уровень абстракции» заменяется на «уровень косвенного обращения». Следствие этого Кевлина Хенни звучит так: «... за исключением проблемы слишком большого количества уровней косвенного обращения».
person
user924272
schedule
14.05.2016