01/10/2018, 17:17

Công dụng của immutable object và ví dụ thực tế?

Chào mọi người, mình hiện đang học Java và đang vướng ở phần Immutable Class/Object, mình cũng đã dạo vài vòng để tìm hiểu về công dụng của nó và nên sử dụng nó khi nào nhưng số mình toàn gặp các câu trả lời chung chung nên hơi khó hình dung, nên mình mong mọi người có thể hỗ trợ mình vấn đề này ạ công dụng, khi nào nên sử dụng và cho mình một số ví dụ thực tế của nó để có thể hình dung ra nó với ạ.
Mình cảm ơn mọi người ạ.

Nguyễn Đình Anh viết 19:30 ngày 01/10/2018

Bạn thử xem qua mấy bài viết này nhé

dzone.com

Immutables in Java - DZone Java

Immutability has become more important as Java has moved focus to functional programming and new APIs. See the pros and cons of using immutable classes.

techmaster.vn

[JAVA] Hiểu khái niệm Immutable như thế nào cho đúng?

Immutable luôn chiếm một phần quan trọng trong nhiều ngôn ngữ lập trình ngày nay, Java không phải là ngoại lệ. Java 8 ra đời kèm theo functional programming và java.time.API khiến immutable càng trở nên quan trọng hơn.

Hung viết 19:17 ngày 01/10/2018

Immutable object chỉ phát huy tác dụng khi sử dụng nó trong concurrency hay distributed system. Các object truyền qua giữa các module trong hệ thống không được thay đổi state của nó.

Vì vậy các ứng dụng của nó đa số ở những app và server cần đến responsive hay real-time.

Một vài tham khảo cho bạn:

Reactive Programming:

  • ReactiveX: RxJS, RxSwift, RxJava, RxKotlin
  • Biến thể về store management: Flux, Redux trong React ecosystem
  • Kiến trúc Elm: Elm Architecture, CycleJS

Actor model trong Concurrency:

  • OTP của Erlang
  • Akka Framework của Scala

Mô hình Map Reduce trong Hadoop ecosystem

  • Hadoop MapReduce
  • Spark RDD (Resilient Distributed Datasets)

Blockchain

  • Các transaction (giao dịch) được lưu trong immutable block, các block kết nối liên tiếp với nhau tạo thành blockchain.
Bài liên quan
0