Junior — Middle
Bir nesneyi doğrudan örneklemek ile Builder şablonunu kullanarak oluşturmak arasında ne farklar vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir nesnenin örneği doğrudan yapıcı çağrısı ile oluşturulur, örneğin new ClassName(). Bu, gerekli tüm parametreler biliniyorsa ve nesne çok karmaşık değilse, basit ve hızlı bir yöntemdir.
Builder deseni, çok sayıda parametre içeren karmaşık nesnelerin oluşturulmasında kullanılır, özellikle bazı parametrelerin isteğe bağlı veya varsayılan değerleri varsa. Builder, nesneyi adım adım yapılandırmaya olanak tanır, böylece kodun okunabilirliği ve bakımı artar.
Farklar:
- Doğrudan oluşturma: hızlıdır, ancak çok parametreli uzun yapıcılar ile sonuçlanabilir.
- Builder: daha esnektir, okunabilirliği artırır, çok sayıda isteğe bağlı parametre içeren nesnelerin oluşturulmasını kolaylaştırır.
Java'da Builder örneği:
public class User {
private String name;
private int age;
private String address;
private User(UserBuilder builder) {
this.name = builder.name;
this.age = builder.age;
this.address = builder.address;
}
public static class UserBuilder {
private String name;
private int age;
private String address;
public UserBuilder setName(String name) {
this.name = name;
return this;
}
public UserBuilder setAge(int age) {
this.age = age;
return this;
}
public UserBuilder setAddress(String address) {
this.address = address;
return this;
}
public User build() {
return new User(this);
}
}
}
// Kullanım:
User user = new User.UserBuilder()
.setName("İvan")
.setAge(30)
.build();