Sobes.tech
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)")
    }
}