различие между постоянным слоем и слоем бизнес-логики - PullRequest
0 голосов
/ 03 октября 2019

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

Эти два слоя выглядят одинаково

Что они означают в реальном сценарии? И есть ли у них разница в коде?

1 Ответ

0 голосов
/ 03 октября 2019

Идея для наслоения системы: изоляция . Один слой не зависит от другого.

Сколько существует различных баз данных? Postgresql, MySql, MongoDB, Cassandra ... Уровень персистентности (или Уровень доступа к данным ) предоставит интерфейс для вашей системы. Допустим, вашей системе нужно найти пользователя по его идентификатору.

public interface UserRepository {
  User findByID (Long id);
}

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

Как только вы получите данные, бизнес-логика будет определять, что и как вы будете делатьс этим. С точки зрения MVC, бизнес-логика также определяет область транзакции (подробнее: Почему мы не должны делать контроллер Spring MVC @Transactional? ). Допустим, у вас есть пользователь, которого вы получили с помощью предыдущего интерфейса. Но вам нужно вернуть дополнительные атрибуты, например, его зарплату. Но нет никакого атрибута зарплаты на POJO пользователя. А также, чтобы рассчитать зарплату, вашей системе необходимо вызвать внешнюю систему. Ваша бизнес-логика позаботится об этом, а затем вернет сжатый объект (известный как Data Transfer Obejct) вызывающей стороне.

Некоторые ресурсы:

https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html

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