Sobes.tech
Back to questions
Junior — Middle
68

Можешь привести пример шаблона проектирования, который разделяет обязанности между компонентами?

Companies where asked
Банк ПСБ

Answer from AI

sobes.tech AI

Один из классических шаблонов проектирования, который разделяет обязанности между компонентами — это Model-View-Controller (MVC).

  • Model отвечает за данные и бизнес-логику.
  • View отвечает за отображение информации пользователю.
  • Controller связывает Model и View, обрабатывает пользовательский ввод и обновляет View.

Пример на C# (упрощённый):

// Model
class User {
    public string Name { get; set; }
}

// View
class UserView {
    public void DisplayUser(string userName) {
        Console.WriteLine("User: " + userName);
    }
}

// Controller
class UserController {
    private User model;
    private UserView view;

    public UserController(User model, UserView view) {
        this.model = model;
        this.view = view;
    }

    public void SetUserName(string name) {
        model.Name = name;
    }

    public void UpdateView() {
        view.DisplayUser(model.Name);
    }
}

Такой подход помогает разделить ответственность и облегчает поддержку и тестирование кода.