Tətbiq memarlığında Koordinator və Router nümunələri arasındakı fərqləri izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Koordinator və Router nümunələri tətbiqlərdə naviqasiyanı idarə etmək üçün hər ikisindən istifadə olunur, lakin fərqli vurğular və məsuliyyət səviyyələrinə malikdirlər.
Koordinator — bu, ekranların axını və naviqasiya biznes məntiqini idarə edən obyektidir. O, ekranların yaradılması və əlaqələndirilməsi, həmçinin onların arasında keçidlər üçün məsuliyyət daşıyır. Koordinator tez-tez növbəti göstəriləcək ekranı müəyyən edən məntiqi ehtiva edir və bir neçə iç-içə koordinatoru idarə edə bilər.
Router — bu, aşağı səviyyəli komponentdir və birbaşa ekranlar arasında keçidləri (məsələn, push, present) həyata keçirir. Router adətən UINavigationController və ya digər naviqasiya vasitələri ilə işləmək detalları ilə işləyir və keçidlər üçün sadə interfeys təmin edir.
Əsas fərqlər:
- Koordinator naviqasiya məntiqini və tətbiqin axını idarə edir, Router — keçid əməliyyatlarını.
- Koordinator bir və ya bir neçə Router istifadə edə bilər.
- Koordinator ekranların yaradılması və konfiqurasiyasından məsuliyyət daşıyır, Router isə onların göstərilməsindən.
Sadələşdirilmiş struktur nümunəsi:
protocol Router {
func push(_ viewController: UIViewController, animated: Bool)
func present(_ viewController: UIViewController, animated: Bool)
}
class AppCoordinator {
let router: Router
func start() {
let firstVC = FirstViewController()
router.push(firstVC, animated: true)
}
}