Sobes.tech
Junior — Middle

Какви шаблони за дизайн са използвани при решаването на конкретни задачи във вашата практика?

sobes.tech AI

Отговор от AI

В практиката на разработка на Java съм използвал няколко шаблона за дизайн:

  • Singleton — за създаване на единствен екземпляр на клас, например за мениджър на конфигурации.
  • Factory Method — за създаване на обекти без твърда връзка с конкретни класове, което улеснява разширяването на функционалността.
  • Observer — за реализиране на събитийна модел, например в GUI или при обработка на промени в данните.
  • Decorator — за динамично добавяне на функционалност към обекти, например при логване или кеширане.

Пример за използване на Singleton:

public class ConfigManager {
    private static ConfigManager instance;
    private Properties config;

    private ConfigManager() {
        // зареждане на конфигурацията
    }

    public static synchronized ConfigManager getInstance() {
        if (instance == null) {
            instance = new ConfigManager();
        }
        return instance;
    }

    public String getProperty(String key) {
        return config.getProperty(key);
    }
}