Junior — Middle
რა განსხვავებაა Singleton და Prototype-ის სფეროს შორის დამოკიდებულებების ინექციის კონტექსტში?
sobes.tech AI
პასუხი AI-სგან
დამოკიდებულების ინექციის კონტექსტში, scope (საზღვარი) განსაზღვრავს შექმნილი ობიექტების სიცოცხლის ციკლს და რაოდენობას.
-
Singleton: ობიექტი ერთჯერად იქმნება მთელი აპლიკაციის ან DI კონტეინერის სიცოცხლის ციკლში. ყველა მოთხოვნა ამ დამოკიდებულებაზე იღებს ერთსა და იმავე ნიმუშს. ეს მოსახერხებელია სერვისებისთვის, რომლებიც უნდა შეინახონ მდგომარეობა ან იყოს საერთო.
-
Prototype: ყოველი მოთხოვნისას იქმნება ახალი ობიექტის ნიმუში. ეს სასარგებლოა, როდესაც საჭიროა დამოუკიდებელი ობიექტი საკუთარი მდგომარეობით.
მაგალითი:
// Scope Singleton
@Component
@Scope("singleton")
public class MyService {
// ერთი ნიმუში მთელი აპლიკაციისთვის
}
// Scope Prototype
@Component
@Scope("prototype")
public class MyPrototypeService {
// ახალი ნიმუში ყოველი მოთხოვნისას
}
ამ გზით, Singleton უზრუნველყოფს ერთეულ ნიმუშს, ხოლო Prototype-ი მრავალ დამოუკიდებელ ნიმუშს, რაც გავლენას ახდენს მდგომარეობის მართვაზე და აპლიკაციის შესრულებაზე.