Ответ зависит от того, насколько велико это приложение, насколько оно будет расти и насколько оно может измениться.
Единственная реальная точка любого слоя - это изоляция функциональности.В небольшом приложении вы можете с радостью получать вызовы в хранилище, разбросанные по всему коду пользовательского интерфейса.
Но что, если вы затем измените что-то в структуре хранилища?Вам нужно будет найти и изменить все эти ссылки.
Однако, если вы написали весь свой код доступа к хранилищу на бизнес-уровне, который предоставляет методы более высокого уровня для пользовательского интерфейса, тогда у вас будет гораздо меньше работыэтот момент.
Могут быть конкретные соображения безопасности.Например, если ваш пользовательский интерфейс не имеет доступа к хранилищу, вы можете сосредоточить всю проверку безопасности на общедоступном API бизнес-уровня.Если у вас есть 200-страничное веб-приложение, в котором доступ к хранилищу можно получить из любого места - конечно, это может быть безопасно - но насколько вы можете быть уверены?
Тогда есть модульное тестирование ...... в основном естьнет правильного пути - но если ваше приложение маленькое, у вас все хорошо ... если ваше приложение большое, вы, вероятно, пожалеете об этом дизайне в какой-то момент.