Junior — Middle
Kako se ostvaruje interakcija između različitih slojeva i komponenti u višeslojnoj arhitekturi sistema?
sobes.tech АИ
Одговор од АИ
У мултислојној архитектури система, интеракција између слојева и компоненти обично се одвија преко јасно дефинисаних интерфејса и протокола. На пример, на iOS-у се често користи образац MVC или MVVM, где View комуницира са ViewModel или Controller-ом, који заузврат приступа моделу података. Комуникација може бити реализована преко делегата, обавештења (NotificationCenter), closures или реактивних библиотека (Combine, RxSwift).
Пример интеракције преко делегата:
protocol DataUpdateDelegate: AnyObject {
func didUpdateData(_ data: String)
}
class Model {
weak var delegate: DataUpdateDelegate?
func fetchData() {
// Преузимање података
let data = "Нови подаци"
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("Ажурирани подаци: \(data)")
}
}