Prototype nümunəsi (Prototype Pattern)
-
Prototype Pattern obyektlərin mövcud bir nümunədən (şablondan) klonlanaraq yaradılmasına imkan verir. Bu nümunə, eyni tipli obyektlərin ortaq metod və xüsusiyyətlər paylaşmasını təmin edir. Bu da yaddaşdan daha səmərəli istifadə və vahid davranış təmin edir.
Məsələyə JavaScript nümunəsi ilə baxaq:
// Constructor funksiyası yaradılır function Person(name, age) { this.name = name; this.age = age; } // Prototipə metod əlavə olunur Person.prototype.greet = function () { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); }; // İki obyekt nümunəsi yaradılır const person1 = new Person("Alice", 30); const person2 = new Person("Bob", 25);
🧠 Bu kod nə edir?
1. Constructor Function – Qurucu Funksiya
Person
adlı funksiya yaradılır və bu funksiya yeni obyektlərəname
vəage
təyin edir.2. Prototype vasitəsilə metodun paylaşılması
greet
adlı metodPerson.prototype
-ə əlavə olunur. Bu, o deməkdir ki, bütünPerson
obyektləri bu metodu paylaşır – hər biri üçün ayrı nüsxə saxlanmır. Bu da yaddaşa qənaət deməkdir.3. Yeni obyektlərin yaradılması
new Person(...)
iləperson1
vəperson2
kimi fərqli dəyərlərə malik obyektlər yaradılır.
İstifadə
person1.greet(); // Çıxış: Hello, my name is Alice and I am 30 years old. person2.greet(); // Çıxış: Hello, my name is Bob and I am 25 years old.
Burada hər bir obyekt
greet()
metodunu çağırır, lakin metod prototipdən gəlir və obyektin özname
vəage
dəyərləri ilə işləyir.
Yekun
Prototype Pattern əsasən aşağıdakı hallarda istifadə olunur:
- Obyektlərin yaradılması resurs baxımından baha başa gəlirsə və tez-tez təkrar yaradılmalıdırsa
- Eyni davranış və funksionallığı çox sayda obyekt paylaşmalıdırsa
- Kodda yaddaşa qənaət və vahid metod strukturu təmin olunmalıdırsa
Bu nümunə JavaScript-in prototip əsaslı obyekt sistemini başa düşmək üçün də ideal bir başlanğıcdır.
Bilik paylaşdıqca artan bir sərvətdir