SORU
2 EYLÜL 2010, PERŞEMBE


Tasarım Desenleri jQuery kullanılan kütüphane

jQuery DOM üzerinde yüksek odaklı ve etrafında güzel bir özet sağlar. Bunu yaparken, çeşitli kullanımı sadece bana vurdu design patterns dün iyi bilinen yapar. En açık örneği Decorator desen olurdu. JQuery nesne düzenli bir DOM nesnesi etrafında yeni ve ek işlevsellik sağlar.

Örneğin, DOM insertBefore doğal bir yöntem var, ama karşılık gelen ınsertafter yöntem yoktur. Çeşitli uygulamaları available bu boşluğu doldurmak için vardır, ve bir WordPress kullanmak için bu işlevi sağlayan bir kitaplık

$(selector).after(..)
$(selector).insertAfter(..)

Dekoratör desen ağır bir WordPress kullanmak kullanılan diğer birçok örnek vardır.

Diğer örnekler, büyük ya da küçük, tasarım desenleri kitaplığı kendisi bir parçası olduğunun farkında mısınız? Ayrıca, lütfen desen kullanımı ile ilgili bir örnek sağlar.

Bu bir topluluk yapma insanlar hakkında bir WordPress kullanmak aşk çeşitli işler iyi bilinen tasarım desenleri için geri izlenebilir, genellikle desen adıyla anılıyor olmadığına inanıyorum olarak wiki. Bu soruya tek bir cevap yok, ama bu kalıplar kataloglama kütüphane içine yararlı bir içgörü sağlar.

CEVAP
2 EYLÜL 2010, PERŞEMBE


Lazy Initialization:

$(document).ready(function(){
    $('div.app').myPlugin();
});

Adapter or wrapper

$('div').css({
    opacity: .1 // opacity in modern browsers, filter in IE.
});

Facade

// higher level interfaces (facades) for $.ajax();
$.getJSON();
$.get();
$.getScript();
$.post();

Observer

// jQuery utilizes it's own event system implementation on top of DOM events.
$('div').click(function(){})
$('div').trigger('click', function(){})

Iterator

$.each(function(){});
$('div').each(function(){});

Strategy

$('div').toggle(function(){}, function(){});

Proxy

$.proxy(function(){}, obj); // =oP

Builder

$('<div class="hello">world</div>');

Prototype

// this feels like cheating...
$.fn.plugin = function(){}
$('div').plugin();

Flyweight

// CONFIG is shared
$.fn.plugin = function(CONFIG){
     CONFIG = $.extend({
         content: 'Hello world!'
     }, CONFIG);
     this.html(CONFIG.content);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Commander Chalkboard

    Commander Ch

    20 Ocak 2014
  • DrePwn

    DrePwn

    22 Temmuz 2011
  • whatever

    whatever

    30 EYLÜL 2005

İLGİLİ SORU / CEVAPLAR