Underbuilder trong Java là gì?
Underbuilder là lớp cung cấp cách triển khai mặc định của trình tạo cho một loại cụ thể. Nói cách khác, đó là một trình xây dựng xây dựng các phiên bản của một loại cụ thể.
Ví dụ: giả sử bạn có một lớp tên là `Car` và bạn muốn cung cấp một trình tạo cho nó. Bạn có thể định nghĩa một underbuilder như thế này:
```
class CarBuilder : Builder
// Xác định các giá trị mặc định cho thuộc tính của Car
private var color: String = "red"
Private var make: String = "toyota "
mô hình var riêng: String = "corolla"
năm var riêng: Int = 2015
// Xác định các phương thức xây dựng có thể được gọi để đặt thuộc tính
vui nhộn vớiColor(color: String): CarBuilder {
this.color = color
return this
}
fun withMake(make: String): CarBuilder {
this.make = make
return this
}
fun withModel(model: String): CarBuilder {
this.model = model
return this
}
fun withYear(year: Int) : CarBuilder {
this.year = Year
return this
}
// Xác định phương thức xây dựng Car instance
ghi đè fun build(): Car {
return Car(color, make, model, Year)
}
}
`` `
Trong ví dụ này, lớp `CarBuilder` là lớp xây dựng cơ bản cho lớp `Car`. Nó cung cấp cách triển khai mặc định của trình tạo có thể được sử dụng để tạo các phiên bản của `Car`. Các phương thức `withColor`, `withMake`, `withModel` và `withYear` cho phép bạn thiết lập các thuộc tính của phiên bản `Car` và phương thức `build` được sử dụng để thực sự tạo phiên bản `Car`.
Underbuilders là hữu ích khi bạn muốn cung cấp cách triển khai mặc định của trình tạo cho một loại cụ thể, nhưng bạn cũng muốn cho phép các trình tạo khác mở rộng hoặc sửa đổi cách triển khai đó. Ví dụ: bạn có thể có một trình tạo cơ sở cung cấp cách triển khai mặc định cho các thuộc tính và sau đó các trình tạo khác có thể mở rộng trình tạo cơ sở đó để thêm các thuộc tính bổ sung hoặc sửa đổi các thuộc tính hiện có.



