SORU
1 Ocak 2011, CUMARTESİ


Nerede clojure içinde defrecord kullanmalıyım?

Clojure programlarımda birçok haritalar ve yapılar kullanıyorum. Yararları (performans dışında) defrecords için bu dönüştürme nedir?

CEVAP
1 Ocak 2011, CUMARTESİ


Yapılar onları hiç kullanmıyorum çok etkili bir itiraz olarak görüyorum.

Tanınmış anahtarları sabit bir dizi çok göster durumlarda kullandığım zaman, ben genellikle bir kayıt oluşturmak. Büyük faydaları vardır:

  • Performans
  • Oluşturulan sınıf multimethods veya diğer durumlarda geçiş bir tür vardır
  • Defrecord civarında ek makro makine ile, istediğim her şeyi alan doğrulama, varsayılan değerler ve alabilirim
  • Kayıtları keyfi arabirimleri veya protokolleri (haritası yok) uygulayabilirsiniz
  • Kayıtların çoğu amaçlar için haritalar gibi davran
  • anahtarları ve vals kararlı (başına yaratılış) sırayla sonuçları

Kayıtların bazı olumsuzlukları:

  • Kayıtları Java sınıf örneği (Clojure haritalar değil) çünkü, aynı kayıt yapısı muhtemelen değiştirildi eşdeğer göster yapısı daha fazla bellek kullanır, böylece yapısal paylaşımı yok. "JVM özel olarak tasarlanmış bir ter bozmadan kısa ömürlü çöp bu tür yemektir. ancak" bir şarkı olarak da daha fazla nesne oluşturma/yıkım var
  • Eğer gelişimi sırasında kayıtları geçiyorsanız muhtemelen bir ÇOĞALTMA daha sık bu değişiklikleri almak için yeniden başlatmanız gerekiyor. Bu genellikle gelişme dar bit sırasında bir sorun sadece.
  • Birçok mevcut kütüphaneler kayıtları (postwalk, zip, matchure, vs vs) desteklemek için güncellendi. Gerektiğinde bu desteği ekledik.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alan Fullmer

    Alan Fullmer

    3 EYLÜL 2010
  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • Random Act of Kindness Video Contest

    Random Act o

    18 EYLÜL 2012