Junior — Middle
Como é que a interação entre as diferentes camadas e componentes é realizada numa arquitetura de sistema multicamadas?
sobes.tech IA
Resposta da IA
Numa arquitetura de sistema de múltiplos componentes, a interação entre camadas e componentes geralmente ocorre através de interfaces e protocolos claramente definidos. Por exemplo, no iOS, costuma-se usar o padrão MVC ou MVVM, onde a View interage com o ViewModel ou Controller, que por sua vez acessam o modelo de dados. A comunicação pode ser feita através de delegados, notificações (NotificationCenter), closures ou bibliotecas reactivas (Combine, RxSwift).
Exemplo de interação via delegado:
protocol DataUpdateDelegate: AnyObject {
func didUpdateData(_ data: String)
}
class Model {
weak var delegate: DataUpdateDelegate?
func fetchData() {
// Obtenção de dados
let data = "Novos dados"
delegate?.didUpdateData(data)
}
}
class ViewController: UIViewController, DataUpdateDelegate {
let model = Model()
override func viewDidLoad() {
super.viewDidLoad()
model.delegate = self
model.fetchData()
}
func didUpdateData(_ data: String) {
print("Dados atualizados: \(data)")
}
}