Junior — Middle
¿Puedes dar un ejemplo de un patrón de diseño que divide las responsabilidades entre componentes?
sobes.tech AI
Respuesta de la IA
Один из классических шаблонов проектирования, который разделяет обязанности между компонентами — это 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);
}
}
Такой подход помогает разделить ответственность и облегчает поддержку и тестирование кода.