24 Kasım 2017 Cuma

Javascript Pattern

JavaScript'te üç
yeni nesneler oluşturmak için yaygın yollar şunlardır:

// Aşağıdaki seçeneklerin her biri boş bir nesne yaratacaktır:

var newObject = {}; // or
var newObject = Object.create(null); // or

var newObject = new Object();



Singleton Pattern

Java veya C # gibi diğer dillerde yerleşik ad alanları bulunurken, JavaScript bunları basit nesneler kullanarak taklit etmek zorundadır.

Şu senaryoyu inceleyin: Programınızda sıkça kullandığınız sayfada bir dizi işlevin asılı kalması.
function login() {  
    // do some login shtuffs
}

function logout() {  
    // do some logout shtuffs
}

function addToCart() {  
    // blah, blah blah...
}
Bir kaç şey burada devam ediyor ...
1. İşlevlerimiz küresel alanı kirletiyor. Sayfada dolaşırken bir şeyler eklemek zorunda kalacaklar. Açıkça beyan edilen ana nesne olmadan, küresel olarak mevcut olan windownesneye bağlanırlar.
2. Yanlışlıkla başka bir küresel addToCartişlev tanımlayacak olsaydık veya yazar aynı şeyi yapan bir kütüphaneyi getirseydik orijinalin üzerine yazar ve gerçekten de karmakarışık bir hata ayıklama durumuna gelebiliriz.
Bunu, kodumuzun yapabileceği bir tane (ve sadece bir tane) global nesne oluşturarak gözden geçirelim.
var NAMESPACE = {};

NAMESPACE.login = function() {  
    // do some login shtuffs
}

NAMESPACE.logout = function() {  
    // do some logout shtuffs
}

NAMESPACE.addToCart = function() {  
    // blah, blah blah...
}
Artık kimse, adı da olan bir nesne oluşturmadığı sürece NAMESPACEkodumuzun güvende olması gerekir. Buradan her türlü şeyi yapabiliriz. Nesne değişkenlerini daha yuvalayabiliriz veya yapıcı işlevler oluşturabiliriz:
var NAMESPACE = {};

NAMESPACE.Widget = function(foo, bar) {  
    // Some awesome widget code
}

NAMESPACE.Widget.prototype.doSomethingAwesome = function() {  
    // do something awesome!!!
}

var myWidget = new NAMESPACE.Widget('hello', 'world'); 

Hiç yorum yok:

Yorum Gönder

Poliüretan Makinesi: Isı ve Yalıtımın Güçlü Buluşması

Poliüretan makinası, poliol ve izosiyanat isimli iki kimyasalı yüksek basınç ve ısı altında birleştirerek köpük elde eden bir sistemdir. Bu ...