Tag: immutability

7 รายการ

Blog

นากมิ้นต์ต้นฉบับรวบรวมชิ้นงานลงตะกร้าแล้วกดฝาสีอำพันให้ล็อกหลังเก็บครบ
javastreamscollectors

Java collectingAndThen: เก็บข้อมูลก่อน แล้วล็อกผลลัพธ์ตอนจบ

ใช้ Collectors.collectingAndThen เพิ่ม finishing step เช่น unmodifiable list โดยไม่กระจาย post-processing นอก stream

พี่โชว์
นากต้นฉบับวางของเป็นคู่ในช่องตู้หลายช่องที่ปิดฝาเรียบร้อย
javacollectionsimmutability

Java Map.ofEntries: สร้าง immutable map หลายคู่โดยไม่เปิดช่องให้แก้ทีหลัง

ใช้ Map.entry กับ Map.ofEntries สำหรับตารางคงที่ พร้อมข้อจำกัด null, duplicate key และ Java 17 assertions

น้องกาย
กล่องลิสต์ต้นทางและสำเนาแข็งบนโต๊ะมิ้นต์ มีแม่กุญแจสีอำพันที่สำเนา
javacollectionsimmutability

Java List.copyOf — สแนปช็อตลิสต์แบบอ่านอย่างเดียวในคำสั่งเดียว

ใช้ List.copyOf สร้างสำเนา immutable จาก Collection — กัน caller แก้ลิสต์ต้นทางโดยไม่ตั้งใจ พร้อมตัวอย่าง verified บน JDK 21

น้องกาย
งูต้นฉบับมองช่องแผนที่สีเขียวผ่านฝาครอบใสที่ล็อกการแตะ แต่ข้อมูลด้านในยังเปลี่ยนตามเจ้าของ
pythonmappingapi-design

Python MappingProxyType: แจก View อ่านอย่างเดียวโดยไม่แช่แข็งข้อมูลต้นทาง

ใช้ types.MappingProxyType ป้องกัน caller เขียน dict ผ่าน API แต่ยังเห็นการอัปเดตจาก owner พร้อมข้อควรระวังเรื่องค่าซ้อน

พี่โชว์
นากกายสีมิ้นต์ถ่ายสำเนาแผนที่ลงกระดาษใหม่ ข้าง ๆ มีกรอบใสที่ยังเชื่อมกับต้นฉบับ
javacollectionsimmutability

Java Map.copyOf คือ Snapshot แต่ unmodifiableMap ยังมองเห็นต้นฉบับเปลี่ยน

แยก immutable copy ออกจาก read-only view พร้อม assertions ที่เผย aliasing ของ map ต้นทาง

พี่โชว์
นากกายสีมิ้นต์ล็อกลูกบาศก์พจนานุกรมใสที่มีเม็ดคีย์วอลู่อยู่ข้างในด้วยกุญแจสีอำพัน
pythonpepcpython

PEP 814: frozendict ใน builtins ของ Python 3.15

สรุป frozendict ชนิด immutable mapping ใน builtins ตาม PEP 814 Final สำหรับแชร์ค่าคงที่และใส่เป็นอาร์กิวเมนต์ของ lru_cache ได้

น้องกาย
งูสีมิ้นต์ต้นฉบับกำลังเปลี่ยนชิ้นส่วนเดียวบนการ์ดวัตถุ ขณะที่การ์ดต้นฉบับยังสมบูรณ์
pythondataclassesimmutability

Python copy.replace: อัปเดต Value Object โดยไม่แก้ของเดิม

ใช้ copy.replace กับ dataclass แบบ frozen เพื่อสร้างสถานะใหม่เฉพาะฟิลด์ พร้อมตรวจ invariant ด้วย unittest

พี่โชว์