Junior — Middle
შეგიძლიათ ახსნათ, რა ნიშნავს ასო 'I' SOLID-ის პრინციპში?
sobes.tech AI
პასუხი AI-სგან
SOLID პრინციპებში "I" ასო ჩვეულებრივ აღნიშნავს ინტერფეისების განცალკევების პრინციპს (Interface Segregation Principle).
ამ პრინციპის არსი ის არის, რომ მომხმარებლები არ უნდა იყვნენ დამოკიდებული იმ ინტერფეისებზე, რომლებიც ისინი არ იყენებენ. უკეთესია შექმნათ რამდენიმე სპეციალიზებული ინტერფეისი, ვიდრე ერთი დიდი და უნივერსალური.
ეს ეხმარება კოდს გახდეს უფრო მოქნილი, გასაგები და ადვილად შენარჩუნებადი.
მაგალითი:
protocol Printer {
func printDocument()
func scanDocument()
}
// ISP-ის დარღვევა: თუ კლასი მხოლოდ ბეჭდვას შეძლებს, მაგრამ იძულებულია განახორციელოს scanDocument
protocol Printer {
func printDocument()
}
protocol Scanner {
func scanDocument()
}
// ახლა კლასი მხოლოდ საჭირო ინტერფეისს შეძლებს რეალიზებას
class SimplePrinter: Printer {
func printDocument() {
print("დოკუმენტის ბეჭდვა")
}
}