«immutability» etiketlenmiş sorular

5
C # 'daki değişken nesneler arasındaki dairesel bir referans nasıl modellenir?
Aşağıdaki kod örneğinde, bir odayı temsil eden değişmez nesneler için bir sınıfımız var. Kuzey, Güney, Doğu ve Batı diğer odalara çıkışları temsil eder. public sealed class Room { public Room(string name, Room northExit, Room southExit, Room eastExit, Room westExit) { this.Name = name; this.North = northExit; this.South = southExit; this.East …

1
Redux bellek tüketimi [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Sorunuzu güncelleyin o yüzden -konu üzerinde Yazılım Mühendisliği Stack Exchange için. 3 yıl önce kapandı . Redux çerçevesi, mevcut eylem açısından önceki durumdan yeni bir durum yaratılmasını teşvik eden değişmez durum / saf işlev …

8
Bir veri nesnesi türünün değişmeyecek şekilde tasarlanıp tasarlanmayacağına nasıl karar verilir?
Değişmez "kalıbı" güçlü olduğu için seviyorum ve geçmişte değişmez veri türlerine sahip sistemleri tasarlamayı yararlı buldum (bazıları, hatta hepsi). Sık sık yaptığım zaman kendimi daha az hata yazarken buluyorum ve hata ayıklama çok daha kolay. Ancak, genel olarak akranlarım değişmez olmaktan uzak duruyor. Hiç deneyimsiz değiller (ondan uzak), ancak veri …

8
Değişmez nesneler ve DDD birlikte mi gider?
DDD kullanan bir sistem düşünün (ORM kullanan herhangi bir sistem). Herhangi bir sistemin gerçekçi bir şekilde, neredeyse her kullanım durumunda, bu etki alanı nesnelerini manipüle etmek olacaktır. Aksi takdirde gerçek bir etki veya amaç yoktur. Değiştirilemez bir nesnenin değiştirilmesi, nesne devam ettikten sonra yeni bir kayıt oluşturmasına neden olur ve …

4
Değişmez nesneleri kullanırken çoğu tavuk ve yumurta problemini çözmek için uygulanabilecek belirli bir tasarım stratejisi var mı?
Bir OOP geçmişinden (Java) geliyor, kendi başıma Scala öğreniyorum. Değişken nesneleri tek tek kullanmanın avantajlarını kolayca görebilsem de, birinin böyle bir uygulamanın tamamını nasıl tasarlayabildiğini görmekte zorlanıyorum. Bir örnek vereceğim: Diyelim ki su ve buz gibi "materyalleri" ve onların özelliklerini temsil eden nesnelerim var (bir oyun tasarlıyorum, bu yüzden gerçekten …

7
Değişmez sınıflar hangi noktada yük haline gelir?
Veri modelinizi tutmak için sınıflar tasarlarken, değiştirilemeyen nesneler oluşturmak yararlı olabilir, ancak yapıcı parametre listelerinin ve derin kopyaların yükü çok fazla olur ve değişmez kısıtlamayı terk etmek zorunda kalırsınız? Örneğin, burada adlandırılmış bir şeyi temsil eden değişmez bir sınıf var (C # sözdizimini kullanıyorum ancak ilke tüm OO dilleri için …

2
Java'da bir sınıfın değiştirilemez olduğunu nasıl ekleyebilirim?
Son zamanlarda, değişmez nesnelerin ne kadar yararlı olduğuna ve örneğin bir kurucuya öğeleri iletirseniz ve sınıfınız değişmezse, tökezleyemezlerse, bu öğeleri kopyalamanız gerekir. Bu, projem hakkında çok fazla kontrol veya bilgi gerektiriyor, çünkü eğer public A(B foo) ve Bdeğişmez değil, Akopyalamak zorundayım B. Şimdi hayal Bedilemez gibi görünüyor, ama yapıcıda değişebilir …

4
İşlevsel paradigma, altta yatan donanım ile genel olarak verimli olamayacak kadar mu farklı değil mi?
SO'dan bir sorudan ilham alındı: /programming/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell FP'nin sayısız avantajları ve dezavantajları hakkında uzun bir tartışma olabilir, ancak şimdilik, modern donanımdaki FP'nin temel verimliliğine kapsamı daraltmak istiyorum . Tez: İşlevsel paradigma değişmezlik ve vatansızlık (?) Anlamına gelir, ancak işlevsel programlar üzerinde çalıştığımız donanım durumsal sonlu otomatalardır. 'Saf işlevsel' programın 'durum bilgisi …

1
Scala'da bir listeye başvurmak neden O (n) zaman karmaşıklığına sahip?
Sadece bir List(: +) için ekleme işleminin yürütme süresinin boyutu ile doğrusal olarak büyüdüğünü okudum List. Bir şeye eklemek Listoldukça yaygın bir işlem gibi görünüyor. Bunu yapmanın deyimsel yolu neden bileşenleri önceden ve sonra listeyi tersine çevirmeli? Uygulama herhangi bir noktada değiştirilebileceği için tasarım hatası da olamaz. Benim açımdan, hem …

7
Kafamı Dokunulmazlık Etmek
Nesneye yönelik programlamaya yeniyim ve kavramak için biraz zamanımı alan bir kavram değişmezlik. Sanırım ampul dün gece söndü ama doğrulamak istiyorum: Değişmez bir nesnenin değiştirilemeyeceğine dair ifadelerle karşılaştığımda, örneğin aşağıdakileri yapabileceğim için şaşkınım: NSString *myName = @"Bob"; myName = @"Mike"; Orada, değiştirilemez tipte NSString adımı değiştirdim. Benim sorunum, "nesne" sözcüğü …

4
Fonksiyonel tarzda programlama yaparken, uygulama mantığından geçtiğiniz tek bir uygulama durumunuz var mı?
Aşağıdakilerin tümüne sahip bir sistemi nasıl kurarım : Değişmez nesnelerle saf fonksiyonların kullanılması. Sadece ihtiyaç duyduğu işlevin bir işlev verilerine aktarın, daha fazla değil (yani büyük uygulama durumu nesnesi yok) İşlevler için çok fazla argüman bulundurmaktan kaçının. Fonksiyonlara çok fazla parametrenin aktarılmasını önlemek için, sadece işlevlere parametrelerin paketlenmesi ve paketlerinin …

3
Nesne-grafik mutasyonunu değişmez durumlarla verimli bir şekilde temsil etmek mümkün müdür?
C ++ değişmez nesne kullanarak pratik yapıyorum. Benim kişisel hedefim, değişmeyen grafik dizisiyle genel nesne grafiğini (yığın halinde) temsil etmektir. Çok versiyonlu grafiğin kendisini oluşturmak o kadar zor değil. Sorun performans. Kaba kuvvet versiyonlaması grafiğin tam kopyasına ihtiyaç duyuyor ve bu kabul edilemezdi. Değişmeyen düğümleri paylaşmaya çalıştım. Ama bu durumda …


4
Fonksiyonel Programlama - Değişmezlik
FP (özellikle F #, ancak diğer FP de Tamam) değişmez veriler ile ilgili anlamaya çalışıyorum ve devlet dolu düşünme (OOP tarzı) eski alışkanlığı kırmak. Buradaki soruya verilen yanıtın bir kısmı, OOP'ta durumsal temsillerle FP'deki değişmez olanlarla çözülen sorunların etrafındaki herhangi bir yazımı araştırmamı yineledi (Örneğin: Üreticiler ve Tüketici ile bir …

6
Değişmez tiplerin dezavantajları nelerdir?
Sınıf örneklerinin değişmesi beklenmediğinde kendimi gittikçe daha fazla değişmez tür kullandığımı görüyorum . Daha fazla çalışma gerektirir (aşağıdaki örneğe bakın), ancak türlerin çok iş parçacıklı bir ortamda kullanılmasını kolaylaştırır. Aynı zamanda, değişebilirlik kimseye fayda sağlamayacak olsa bile, diğer uygulamalarda değişmez türleri nadiren görüyorum. Soru: Değişmez tipler neden diğer uygulamalarda bu …
12 c#  immutability 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.