Патерн сервісного рівня

Патерн сервісного рівня — архітектурний шаблон проєктування

Переваги та недоліки

Переваги

  • сервіси приховують в собі бізнес логіку чим забезпечують незалежність від системи
  • групують логіку операцій в залежності від даних

Недоліки

  • додавання або зміна функціоналу вимагає редагування вже написаного коду

Опис мовою 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.