Əgər navigation-Stack-də təqdimat yerinə mövcud içində başqa bir navigation-controller istifadə etsək, bu Liskov prinsipi pozuntusu sayılırmı?
sobes.tech Süni İntellekt
AI-dan cavab
Cari mövcud naviqasiya yığını daxilində başqa bir UINavigationController istifadə etmək adətən Liskov Əvəzetmə Prinsipinin pozulması hesab olunur, çünki UINavigationController gözləyir ki, onun uşaqlıq view controllerləri adi UIViewController olacaq, başqa naviqasiya controllerləri yox. Bu, interfeysin gözlənilməz davranışlarına, naviqasiya problemlərinə və controller yığınının idarə olunmasında çətinliklərə səbəb ola bilər.
Liskov Prinsipi deyir ki, alt sinif obyektləri əsas sinif obyektləri ilə əvəz oluna bilməli və bu, proqramın düzgünlüyünü dəyişməməlidir. Bu halda, UIViewController yerinə UINavigationController yerləşdirmək, UINavigationController-un gözləntilərini və müqaviləsini pozur və bu, prinsipi pozuntusudur.
Daha düzgün yanaşma, tək bir UINavigationController istifadə etmək və keçidləri push/pop vasitəsilə idarə etməkdir, naviqasiya controllerlərini bir-birinə yerləşdirmək yox.