Oldukça geniş bir web uygulaması yapıyorum ve klasik eklenti desenini kullanarak bir avuç eklenti yapıyorum. Bunlardan bazıları 50 satırı geçiyor ve durumu koruyor. Geçenlerde jQuery UI'nin widget factory'u keşfettim ve eklentilerimi bu stile dönüştürürsem, kodun okunması ve bakımı daha kolay olurdu. Zaman ve çabadan başka, bir dezavantajı olan bir şey olup olmadığını anlamaya çalışıyorum. Diğer bazı eklentiler için jQuery UI kullanıyorum.jQuery eklentilerini jQuery UI'nin Widget Factory ürününü kullanmalı mıyım?
cevap
JQuery küçük aracı fabrikalarını kullanmak için daha karmaşık durumlu eklentilerden birini dönüştürmeye karar verdim. Bir öğrenme eğrisi biraz vardı, faydaları işe haklı çıkarıyorum.
- devlet yönetimi
- ima this.each()
- temiz geri arama mekanizması
- basit API için: Ben tema rulo desteği yararlanarak değilim ederken, burada yararlı bulduğu diğer yararlarından bazıları şunlardır kamu ve özel yöntemler arasında ayarı ve öncelikli seçenekler
- görsel net bir ayrım Açıkçası
, sen her elde edebilirsiniz geleneksel eklenti deseni ile bunlar. Ancak kod gözümde daha temiz görünüyor ve uzun vadede bakımı daha kolay olacak. Eric Hynds ve onun MuliSelect Widget'a çok teşekkür ederim, benim için Widget Factory'in nasıl kullanılacağını öğrenmek ve öğrenmek için kaynak kodu sağlamak. Bu slaytlar arasında
Sorun olmamalı.
Zaten jQuery UI'ye bağımlıysanız, olumsuzluk olmaz.
İyi bir çerçeve işlevini kullanmak, kendi başınıza uygulamaktan (çoğu zaman) daha iyidir. İyi test edilmiş, daha az kod ve çoğu zaman daha iyi bir tasarımı teşvik etmektedir.
Widget fabrikasının eklenmiş işlevselliğine dokunmaya çalışmıyorsanız, bunu yapmanın hiçbir anlamı yoktur. Bu tür bir anahtarlama yapmanın, daha fazla işten başka avantajlar sağlayıp sağlayamayacağını gerçekten değerlendirmeniz gerekir.
Kodunuzu değiştirmenin hiçbir yararı yoksa, bunu yapmayın. Babiker'in yorumunda belirttiği gibi, uygulama yapısına zaman ayırmaktan daha iyi olursun.
Harika bir nokta yaptınız. Ancak widget fabrikasına ayrıntılı bir şekilde baktıktan sonra, eklenti geliştiricisine, nihayetinde daha temiz bir kodla sonuçlanan oldukça az özellik sunar. – rhoeting
Yürüyüşü: Kullanmaya ve nasıl olmalıdır neden http://ajpiano.com/widgetfactory/
Sana Widget fabrikasının fantastik bakış sunacağız.
- 1. Bir jQuery UI Widget
- 2. @ İmleci veya manifest dosyalarını kullanmalı mıyım?
- 3. Bu sınıfta kullanmalı mıyım?
- 4. Parametrelere bağlanırsam mysql_real_escape_string kullanmalı mıyım?
- 5. Raylar 3.1: CoffeeScript kullanmalı mıyım?
- 6. Miras veya kompozisyon kullanmalı mıyım?
- 7. Pytron ile wtform kullanmalı mıyım?
- 8. Bu gibi constexpr kullanmalı mıyım?
- 9. Ben Evrensel-ctags kullanmalı mıyım?
- 10. Performans: Bir değişkeni başlatmalı mıyım yoksa 'bunu kullanmalı mıyım?
- 11. jQuery UI Araç İpucu Widget otomatik kapat
- 12. Programatik 'jQuery UI seçilebilir widget' seçimini kaldırın
- 13. jQuery - Bir URL'yi değişken kodlamalı mıyım?
- 14. Mod yeniden yazımı kullanıyorsanız ProxyPassReverse kullanmalı mıyım?
- 15. Javascript için getHours() veya getUTCHours kullanmalı mıyım?
- 16. Atışlı olmayan takas uygularken throw() kullanmalı mıyım?
- 17. ApplyUpdates (0) veya ApplyUpdates (-1) kullanmalı mıyım?
- 18. Python3'te kodlama bildirimi kullanmalı mıyım?
- 19. Standart HTML üzerinden form yardımcılarını kullanmalı mıyım?
- 20. GZIP sıkıştırma katman yazılımı kullanmalı mıyım?
- 21. Her bir POST isteğinde ValidateAntiForgeryToken kullanmalı mıyım?
- 22. ExtJS 6: Config nesnesini kullanmalı mıyım?
- 23. Her tablo için bir CursorAdapter kullanmalı mıyım?
- 24. Laravel'de belongsTo veya hasOne kullanmalı mıyım?
- 25. Bir Kullanıcı Denetimi için IDisposable kullanmalı mıyım?
- 26. Bu durumda Kalıtım veya Kompozisyon kullanmalı mıyım?
- 27. Scala'daki yapılandırma verileri - Reader monadını kullanmalı mıyım?
- 28. LINQ'de iki kez OrderByDescending kullanmalı mıyım?
- 29. Cms kullanmalı mıyım yoksa sıfırdan başlamalıyım
- 30. Android: MimeTypeMap.getFileExtensionFromUrl() kullanmalı mıyım? [Hatalar] Örneğin
"Oldukça geniş bir web uygulaması yapıyorum ve klasik eklenti desenini kullanarak bir sürü eklenti oluşturdum", eklentileri değil uygulamayı oluşturmaya odaklanmalısınız. – Babiker
Doğru, ancak eklentiler uygulamanın oldukça önemli bölümleri haline geliyor ve gelecekte geliştirmeler gerektirebilir. – rhoeting