JavaScript Desing Pattern 1-Singleton

Ocak 2013 | Ahmet Faik, Yazılım Geliştirme Uzmanı
Öncelikle Başlangıç seviyesinde bir yazı dizisi olacağını belirtmek isterim. Bu arada Mvc ile uygulamalı olarak ufak bir kütüphane örneği yer alacak.Sadece örnekler yer alacak. İlk olarak Javascript Design Pattern ile başlayım daha sonra daha işlemleri ile devam edeceğim.

Singleton Pattern

 var singleton = {
    prop:'singleton',
    method: function(){                
        //...
    }
}
//Kullanımsingleton.propsingleton.method();

Burda singleton isimli nesne ile en basit halini gerçekleştirmiş olduk. Örnek şekilde istediğiniz gibi prop(özellik,değişken vs), method ekleyebilirsiniz.

Şimdi işi biraz daha karıştıralım


var singleton = (function () { var privateProperty = 0, privateMethod = function () { console.log('This is private'); }; return { prop: 'value', method: function () { privateMethod(); return privateProperty; } }; }()); //Kullanım singleton.prop singleton.method

Örnekte "privateProperty" dışarıdan erişim yapılamaz.

NameSpace


var Faik = { Surname: 'Akbekmez', Info: { Name: 'Ahmet', GetName: function () { alert(Name); } }, GetSurname: function () { alert(Surname); } }

Kullanımı:

Faik.Surname
Faik.Info.Name
Faik.Info.GetName();
Faik.GetSurname();

Composite

var Faik = function () { }; Faik.prototype = { method: function (parameters) { alert('method'); }, Data: { Get: function (parameters) { alert("Get Data"); }, Set: function (parameters) { alert("Set Data"); } } }; Faik.prototype.Yuppi = { GetYuppi: function (parameters) { alert("Yuppi"); } };

Kullanımı ise:

var f = new Faik();
f.method();
f.Data.Get();
f.Data.Set();
f.Yuppi.GetYuppi();

Prototype aslında en can alıcı nokta. Prototype ile bir çok js kütüphanesi kendi eklentilerinizi yapabilirsiniz.