Sobes.tech
Junior — Middle

Kādus dizaina modeļus izmantojat savā praksē?

sobes.tech AI

Atbilde no AI

iOS izstrādes praksē bieži izmanto šādus dizaina modeļus:

  • MVC (Model-View-Controller) — datu, saskarnes un vadības loģikas sadalīšana.
  • MVVM (Model-View-ViewModel) — skata un biznesa loģikas atdalīšana ar ViewModel palīdzību, bieži izmanto ar datu sasaisti.
  • Singleton — vienas klases eksemplāra izveide, piemēram, iestatījumu vai sesijas pārvaldnieks.
  • Delegate — notikumu pārraidīšana starp objektiem, plaši izmantots UIKit.
  • Observer (NotificationCenter, KVO) — reakcija uz stāvokļa izmaiņām.
  • Factory — objektu izveide bez konkrētu klases norādīšanas.

Delegate piemērs:

protocol DataReceiverDelegate: AnyObject {
    func didReceiveData(_ data: String)
}

class DataProvider {
    weak var delegate: DataReceiverDelegate?
    
    func fetchData() {
        // Datu iegūšana
        let data = "Piemēra dati"
        delegate?.didReceiveData(data)
    }
}

class ViewController: UIViewController, DataReceiverDelegate {
    let provider = DataProvider()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        provider.delegate = self
        provider.fetchData()
    }
    
    func didReceiveData(_ data: String) {
        print("Saņemtie dati: \(data)")
    }
}