Middle
რომელი დამოკიდებულების ინექციის (DI) მიდგომას აპირებთ გამოყენებას?
sobes.tech AI
პასუხი AI-სგან
მე ვგეგმავ Dagger2/Hilt-ის გამოყენებას (თუ პროექტი Kotlin-ია Gradle buildSrc/convention plugins ან მიგრაციის შესაძლებლობით), რადგან ის ინდუსტრიაში ფაქტო სტანდარტია, უზრუნველყოფს დამოკიდებულების გრაფის სტატიკურ შემოწმებას და აქვს მაღალი შესრულება.
ალტერნატიული ვარიანტები, რომლებიც ასევე განიხილება, პროექტის მასშტაბისა და არჩეული სტეკის მიხედვით:
- Koin: მსუბუქი, მცირე და საშუალო Kotlin პროექტებისთვის შესაფერისი, არ საჭიროებს კოდის გენერაციას.
- Kodein-DI: სხვა DI ბიბლიოთეკა Kotlin-ისთვის, DSL-ზე დაფუძნებული.
საკუთარი მიდგომის არჩევა დამოკიდებულია:
- პროექტის ენის მიხედვით: Kotlin (Koin, Kodein) ან Java (Dagger2).
- პროექტის ზომით: დიდ პროექტებში Dagger2/Hilt უპირატესია სტატიკური შემოწმების გამო.
- მოქმედების მოთხოვნებით: Dagger2/Hilt, როგორც წესი, უფრო სწრაფია მუშაობის დროს.
- გუნდური გამოცდილებით: თუ გუნდი უკვე მუშაობდა კონკრეტულ ბიბლიოთეკასთან, ეს შეიძლება გაადვილოს განვითარება.
იდეალურად, მე ვეცდები Hilt-ის გამოყენებას, როგორც რეკომენდებულ მიდგომას ახალი Android პროექტებისთვის, რომლებიც იყენებენ Jetpack-ს.