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!");
}
}