Sobes.tech
Middle

Šta su obrasci dizajna?

sobes.tech АИ

Одговор од АИ

Шаблони за дизајн су стандардна, више пута тестирана решења за честе проблеме у дизајну у оквиру објектно оријентисаног програмирања. Они нису готове библиотеке или оквири, већ концепти или "рецепти" који се могу прилагодити конкретном задатку.

Шаблони се фокусирају на односе између класа и објеката. Делују у три главне категорије:

  • Креативни (Creational): Шаблони за креирање објеката.
    • Factory Method (Фабрички метод)
    • Abstract Factory (Апстрактна фабрика)
    • Singleton
    • Builder (Изградитељ)
    • Prototype (Прототип)
  • Структурни (Structural): Шаблони за организовање класа и објеката у веће структуре.
    • Adapter (Адаптер)
    • Bridge (Мост)
    • Composite (Компоновање)
    • Decorator (Декоратор)
    • Facade (Фасада)
    • Flyweight
    • Proxy (Прокси)
  • Поведени (Behavioral): Шаблони за алгоритме и начине интеракције између класа и објеката.
    • Chain of Responsibility (Ланац одговорности)
    • Command (Команда)
    • Iterator (Итератор)
    • Mediator (Медијатор)
    • Memento
    • Observer (Посматрач)
    • State (Стање)
    • Strategy (Стратегија)
    • Template Method (Шаблонски метод)
    • Visitor (Посетилац)

Користећи шаблоне за дизајн, могуће је креирати флексибилнији, проширивији и лакше одржави код, што побољшава његову читљивост и олакшава тимски рад.

На пример, шаблон Singleton гарантује да класа има само један примерак и пружа глобалну тачку приступа.

// Пример Singleton у Јави
class Singleton {
    private static Singleton instance; // Један примерак

    private Singleton() {
        // Приватни конструктор за спречавање стварања нових примерка
    }

    public static Singleton getInstance() {
        if (instance == null) { // Стварање примерка при првом позиву
            instance = new Singleton();
        }
        return instance; // Враћа једини примерак
    }

    public void showMessage() {
        System.out.println("Здраво из Singleton!");
    }
}