Патерн сервісного рівня
Зовнішній вигляд
Ця стаття не містить посилань на джерела. (грудень 2024) |
Патерн сервісного рівня — архітектурний шаблон проєктування
- сервіси приховують в собі бізнес логіку чим забезпечують незалежність від системи
- групують логіку операцій в залежності від даних
- додавання або зміна функціоналу вимагає редагування вже написаного коду
Запишемо інтерфейс сервісу, та його реалізацію:
public interface IUserService
{
void CreateNewUser();
}
public class UserService : IUserService
{
public void CreateNewUser()
{
// . . .
}
}
Код бізнес логіки можна використовувати незалежно від платформи
public class UserController : ControllerBase
{
IUserService userService;
public UserController(IUserService userService)
{
this.userService = userService;
}
public IActionResult CreateNewUser()
{
// бізнес логіка
userService.CreateNewUser();
// генерація вигляду, залежить від технологій
return View();
}
}