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

  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • The Warp Zone

    The Warp Zon

    24 AĞUSTOS 2007

İLGİLİ SORU / CEVAPLAR