Junior — Middle
შეგიძლიათ ახსნათ 'Builder' დიზაინის მუშაობის პრინციპი და მისი ძირითადი გამოყენება?
sobes.tech AI
პასუხი AI-სგან
"Builder" ნიმუში გამოიყენება რთული ობიექტების ეტაპობრივად შექმნისთვის და პროცესის აშენებას გამოჩენიდან გამოყოფს. ეს საშუალებას აძლევს ერთსა და იმავე მშენებლობის პროცესის გამოყენებით შექმნათ ობიექტის სხვადასხვა ვარიანტები.
ძირითადი იდეა არის ცალკე კლასი (მშენებელი), რომელიც აგროვებს ობიექტის შექმნის პარამეტრებს და ნაბიჯებს, და შემდეგ აბრუნებს მზადყოფნაში არსებულ მაგალითს.
გამოყენებები:
- როდესაც ობიექტს აქვს ბევრი პარამეტრი, განსაკუთრებით არასავალდებულო.
- როდესაც საჭიროა ობიექტების შექმნა სხვადასხვა კონფიგურაციით.
Swift-ის მაგალითი:
class Car {
var color: String?
var seats: Int?
var engine: String?
}
class CarBuilder {
private var car = Car()
func setColor(_ color: String) -> CarBuilder {
car.color = color
return self
}
func setSeats(_ seats: Int) -> CarBuilder {
car.seats = seats
return self
}
func setEngine(_ engine: String) -> CarBuilder {
car.engine = engine
return self
}
func build() -> Car {
return car
}
}
// გამოყენება:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()