immutability

    3熱度

    2回答

    尋找一種將值可選添加到列表的理想方法。 最終列表必須是不可變的。 例 - Optional<Item> optionalItem = getOptionalItemFromSomewhereElse(); List<Item> list = ImmutableList.builder() .add(item1) .add(item2)

    0熱度

    1回答

    我做了嵌套對象的狀態,在那裏我應該用動態鍵和值更新數據。爲此我使用了React的不變性幫手設置了操作。 我的示例代碼: var update = require('react-addons-update'); var myState = update(this.state, { data: {[dynamic_keys]: {$set: dynamic_values}} });

    1熱度

    1回答

    給定一個immutability-helper節,如: new_state = update(this.state, {$merge: { name: event.target.value }}); 有什麼辦法來取代「名稱」上面的參數/變量的關鍵?我想讓這種類型的處理程序更通用。作爲發送ARG包含此節告訴更新的內容合併功能,類似於(不工作,嘗試創建密鑰「ARG」): handleC

    0熱度

    2回答

    我有幾個與immutable類字段有關的問題。 假設我有一個類Student: public class Student { private final int empId; public int getEmpId() { return empId; } public Student(int empId) { this.empId

    0熱度

    2回答

    我正在做官方的ReactJs教程,我開始對不變性的含義和應用感到困惑。 我以爲是這樣的一個例子。想象一下,我在構造函數this.state = { dog: some data}中有一個對象,然後我調用一個設置this.setState = {dog: another data}的handleClick函數。由於我使用setState來更新值,舊的引用仍然是不可變的,我可以知道更改了什麼。 但在本

    1熱度

    2回答

    我有一個事件。 該事件不時被觸發,它調用一個事件處理程序,它是一個Action<int>。 現在我想「收集」這些事件發送給我的整數並將它們保存在列表中。我也想指定列表完成並開始新列表的時刻。 我想到的天真的解決方案是屬性List<int> ValList。 事件處理程序每​​次調用時都會添加一個值。 消費者端在需要時會列出並且會不時說出ValList = new List<int>(); 爲了避免

    -1熱度

    3回答

    以下是有關如何防止競爭條件的答案。 What is a race condition? 最好的事情是創建無副作用和無狀態 功能,使用immutables儘可能。但這並不總是 可能。因此,使用java.util.concurrent.atomic,併發數據 結構,適當的同步和基於角色的併發將幫助 。 這個答案說盡可能地使用immutables。我很困惑不變的對象如何防止競爭條件。

    1熱度

    1回答

    我一直在閱讀Nathan Marz的'article關於如何用Lambda架構擊敗CAP定理,並不明白不變數據如何使最終一致性更簡單。 以下段落從文章採取: 的關鍵在於數據是不可變的。不可變的數據意味着沒有更新這樣的事情,所以一塊數據的不同副本不可能變得不一致。這意味着沒有發散值,矢量時鐘或讀取修復。從查詢的角度來看,一段數據存在或不存在。數據上只有數據和功能。你不需要做任何事情來強化最終的一致性

    0熱度

    1回答

    我是新來的反應和redux。我有一個對象是子對象,其中包含數組 const initialState = { sum: 0, denomGroups: [ { coins: [ { name: 'Penny', namePlural: 'Pennies', label: '1¢', value: .01, sum: 0 },

    2熱度

    3回答

    我有一個持有公司和公司內部的對象,有一組團隊。 company: { teams: [ { name: 'test team', description: 'dddd', team_manager: null, company: '592577d5b591966c8e535865', permalink: 'test