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ş:
İçinde ASP.NET ne zaman Oturum kullanm...
Clojure, ne zaman bir liste üzerinde b...
KATILMAK içinde durumu veya NEREDE...
Nasıl Clojure içinde işlev bağımsız de...
Nasıl clojure içinde iskele server dur...