Патерн сервісного рівня
Патерн сервісного рівня — архітектурний шаблон проєктування
Переваги та недоліки
Переваги
- сервіси приховують в собі бізнес логіку чим забезпечують незалежність від системи
- групують логіку операцій в залежності від даних
Недоліки
- додавання або зміна функціоналу вимагає редагування вже написаного коду
Опис мовою C#
Запишемо інтерфейс сервісу, та його реалізацію:
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();
}
}
Джерела
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.