Sobes.tech
Junior — Middle

Milyen tervezési mintákat alkalmaz a gyakorlatodban?

sobes.tech MI

Válasz az MI-től

Az iOS fejlesztés gyakorlatában gyakran alkalmazott tervezési minták a következők:

  • MVC (Model-View-Controller) — az adatok, felület és vezérlő logika szétválasztása.
  • MVVM (Model-View-ViewModel) — a nézet és az üzleti logika szétválasztása a ViewModel segítségével, gyakran adatkapcsolással együtt.
  • Singleton — egy osztály egyetlen példányának létrehozása, például beállítások vagy munkamenet kezelő.
  • Delegate — események átadása objektumok között, széles körben használják UIKit-ben.
  • Observer (NotificationCenter, KVO) — a státuszmódosításokra való reagálás.
  • Factory — objektumok létrehozása konkrét osztályok megadása nélkül.

Delegate használatának példája:

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

class DataProvider {
    weak var delegate: DataReceiverDelegate?
    
    func fetchData() {
        // Adatok lekérése
        let data = "Példa adat"
        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("Kapott adatok: \(data)")
    }
}