首页 > 解决方案 > 现实生活中的不可变模式

问题描述

我理解不可变模式的概念,当我们需要创建一个不可变对象(一个其状态永远不会改变的对象)时,就会使用这种模式。但是,我需要知道实现此模式的实际应用程序。

标签: design-patterns

解决方案


不可变模式的一种用法是您不想意外更改的配置。

另一种用法是您只想传输数据的数据传输对象(DTO)。

从代码项目:

主数据:不可变对象的最大用途之一是加载主数据。国家、货币、地区等主数据很少更改。所以我们想在内存中加载一次主数据,然后我们不希望它被修改。

配置数据:所有应用程序都需要配置数据。在微软世界中,我们通常将这些配置数据存储到 Web.config 或 App.config 文件中。这种数据由对象表示,这些数据一旦加载到应用程序内存中就不会改变。将这些配置数据对象设为不可变也是一个好习惯。

单例对象:在应用程序中,我们通常为共享静态数据创建单例对象。因此,如果共享数据没有变化,那么它是不可变对象的绝佳候选者。如果您不熟悉单例模式,请参阅这篇文章 C# 中的单例模式。


推荐阅读