Sobes.tech
Junior — Middle
84

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

Сұралған компаниялар
Банк ПСБ

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);
    }
}

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