Sobes.tech
Junior — Middle

Сіз өз жобаларыңызда Decorator паттернін қолданғаныңыз туралы айттыңыз ба?

sobes.tech AI

AI-дан жауап

Иә, мен Java жобаларымда Decorator паттернін қолдандым, ол объектілердің функционалдығын олардың бастапқы кодын өзгеріссіз кеңейту үшін.

Мысалы, деректерді өңдеу жобасында мен Decorator-ды логтау үшін қолдандым:

public interface DataService {
    void process();
}

public class BasicDataService implements DataService {
    public void process() {
        // негізгі деректерді өңдеу
    }
}

public class LoggingDecorator implements DataService {
    private DataService wrapped;

    public LoggingDecorator(DataService wrapped) {
        this.wrapped = wrapped;
    }

    public void process() {
        System.out.println("Деректерді өңдеу басталды");
        wrapped.process();
        System.out.println("Деректерді өңдеу аяқталды");
    }
}

// Қолдану:
DataService service = new LoggingDecorator(new BasicDataService());
service.process();

Бұл тәсіл жаңа мүмкіндіктерді (логтау, кэштеу және т.б.) бар класс өзгерісінсіз қосуға мүмкіндік берді.