immutability

    7

    2答えて

    私のプログラムの別の部分で使用するために、javaのPriorityQueueクラスをclojureでラップしたいと思います。私が理解しようとしているのは、これを淡々として行い、優先順位キューを不変にする方法があるかどうかです。これを行うには良い方法はありますか、あるいは私はただ変更可能なデータ構造としてPriorityQueueを使う方が良いでしょうか?

    1

    2答えて

    不可避的なオブジェクト指向言語では、変更可能または不変クロージャを持つ方が理にかなっていますか?例えば :閉鎖が可変である場合 int i=5; function() f={print(i);}; f(); i=6; f(); 、これは印刷になります。 5 6 それが不変であれば、それは印刷になります。 5 5 を私がいることを実感不変のクロージャでも、これを行うことができ

    4

    2答えて

    私が知っていたときに書いたPythonコードの一部を掃除しています。主に私は、Pythonでのスレッド化の不完全な理解から生まれた複雑さの一部を取り除いています。スレッドセーフなアイテムのリストを作成する必要があります。通常のロック方法ではなく、不変なリストを使って行いたいと思います。私は、不完全な状態変化を取り巻くスレッド安全性の問題がすべて消えてしまうので、不変のオブジェクトはスレッディングに

    4

    2答えて

    私はインピーダンスのミスマッチに悩まされるかもしれませんが、私はIRepositoryと不変オブジェクトで見た例を調整しようとしています。 私は、hundrdsのWebリクエストが「ワーキングセット」の製品で動作するカタログアプリケーションに取り組んでいます。カタログ全体のサブセットは、任意の時点で再生される傾向があります。 同時に、私たちのデータチームは絶えず製品データを更新するが - など新し

    6

    4答えて

    私が知る限り、文字列はDelphiでは不変です。あなたがそうするなら、私は理解できます。 string1 := 'Hello'; string1 := string1 + " World"; 最初の文字列が破棄され、新しい文字列 "Hello World"への参照が取得されます。 しかし、同じ文字列がコードの異なる場所にあるとどうなりますか? 私は、いくつかの変数を識別するために割り当てられ

    1

    4答えて

    .NET Framework 4には、明らかにBigIntegerクラスが含まれています。しかし、私はそれが不変であるかどうかを知ることができない。それが良いものかどうかを決めることもできない。 不変性には大きな利点があります。特に、big-intと同じような「価値のようなもの」には、利点があります。一方、PowerModのような高コストの操作を可能な限り迅速に行うためには、基本的な操作が効率的で