Sobes.tech
Junior — Middle
95

Объектілерді құру процесінде Builder паттерні қандай міндетті шешеді?

AI-дан жауап

sobes.tech AI

Builder үлгісі күрделі объектілерді кезең-кезеңімен және икемді түрде құру мәселесін шешеді, әсіресе объектінің көптеген параметрлері немесе конфигурация нұсқалары болғанда. Объекті көп параметрлермен конструктор арқылы жасалғанға қарағанда, Builder келесі мүмкіндіктерді береді:

  • Объектіні құру процесін оның көрінісінен бөлу.
  • Объекті бөліктерін құрып, параметрлерді орнату әдістерін шақыру.
  • Ұзын аргументтер тізімі бар конструктордан аулақ болу.

Java-дағы мысал:

public class User {
    private String name;
    private int age;
    private String address;

    private User(Builder builder) {
        this.name = builder.name;
        this.age = builder.age;
        this.address = builder.address;
    }

    public static class Builder {
        private String name;
        private int age;
        private String address;

        public Builder setName(String name) {
            this.name = name;
            return this;
        }

        public Builder setAge(int age) {
            this.age = age;
            return this;
        }

        public Builder setAddress(String address) {
            this.address = address;
            return this;
        }

        public User build() {
            return new User(this);
        }
    }
}

// Қолдану:
User user = new User.Builder()
                .setName("Иван")
                .setAge(30)
                .setAddress("Мәскеу")
                .build();

Мұндай тәсіл оқылуын жақсартады және объектілерді құруды ыңғайлы етеді.