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);
}
}
Такой подход помогает разделить ответственность и облегчает поддержку и тестирование кода.