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)")
}
}