Sobes.tech
Middle

Dizayn shablonlari nima?

sobes.tech AI

AIdan javob

Dizayn shablonlari — bu obyektga yo‘naltirilgan dasturlash doirasida uchraydigan muammolar uchun keng tarqalgan, ko‘p marta tekshirilgan yechimlar. Ular tayyor kutubxonalar yoki ramkalar emas, balki konseptlar yoki "retseptlar" bo‘lib, ularni aniq vazifaga moslashtirish mumkin.

Shablonlar sinflar va obyektlar o‘rtasidagi munosabatlarga qaratilgan. Ular uchta asosiy toifaga bo‘linadi:

  • Yaratish (Creational): Ob'ektlarni yaratish uchun shablonlar.
    • Fabrika usuli (Factory Method)
    • Abstrakt fabrikasi (Abstract Factory)
    • Singleton
    • Builder
    • Prototype
  • Strukturalar (Structural): Sinflar va obyektlarni katta tuzilmalarga tashkil qilish uchun shablonlar.
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Flyweight
    • Proxy
  • Xulq-atvor (Behavioral): Algoritmlar va sinflar hamda obyektlar o‘rtasidagi o‘zaro ta'sir usullari uchun shablonlar.
    • Chain of Responsibility
    • Command
    • Iterator
    • Mediator
    • Memento
    • Observer
    • State
    • Strategy
    • Template Method
    • Visitor

Dizayn shablonlaridan foydalanish, kodni yanada moslashuvchan, kengaytiriladigan va saqlashga qulay qilish, uning o‘qilishi va jamoaviy ishni osonlashtirish imkonini beradi.

Masalan, Singleton shabloni, sinfning faqat bitta nusxasi bo‘lishini kafolatlaydi va unga global kirish nuqtasini taqdim etadi.

// Java tilida Singleton misoli
class Singleton {
    private static Singleton instance; // Yagona nusxa

    private Singleton() {
        // Yangi nusxalarni yaratishni oldini olish uchun maxfiy konstruktor
    }

    public static Singleton getInstance() {
        if (instance == null) { // Birinchi chaqiruvda nusxani yaratish
            instance = new Singleton();
        }
        return instance; // Yagona nusxani qaytarish
    }

    public void showMessage() {
        System.out.println("Singletondan Salom!");
    }
}