Immutability به ویژگی داده یا شیئی گفته میشود که پس از ساخته شدن، وضعیت آن تغییر نمیکند. بهجای اصلاح نمونه، مقدار یا نمونه جدید ساخته میشود.
در پروژه چه کاربردی دارد؟
یک Value Object برای مبلغ پول میتواند تغییرناپذیر باشد تا چند بخش برنامه نتوانند ناخواسته مقدار مشترک آن را عوض کنند.
تغییرناپذیری استدلال درباره کد همروند را آسان میکند، اما ساخت کپیهای متعدد از داده بزرگ میتواند هزینه حافظه داشته باشد.
آبجکت ایمیوتبل چیست؟
وقتی وضعیت یک آبجکت پس از ایجاد تغییر نکند، فهم مسیر داده سادهتر میشود. در Go مقدار Struct و در C# Record میتواند بسته به طراحی برای مدلهای Value-like مناسب باشد. تغییرناپذیری سطحی با عمیق متفاوت است.