design-patterns - 现实生活中的不可变模式
问题描述
我理解不可变模式的概念,当我们需要创建一个不可变对象(一个其状态永远不会改变的对象)时,就会使用这种模式。但是,我需要知道实现此模式的实际应用程序。
解决方案
不可变模式的一种用法是您不想意外更改的配置。
另一种用法是您只想传输数据的数据传输对象(DTO)。
主数据:不可变对象的最大用途之一是加载主数据。国家、货币、地区等主数据很少更改。所以我们想在内存中加载一次主数据,然后我们不希望它被修改。
配置数据:所有应用程序都需要配置数据。在微软世界中,我们通常将这些配置数据存储到 Web.config 或 App.config 文件中。这种数据由对象表示,这些数据一旦加载到应用程序内存中就不会改变。将这些配置数据对象设为不可变也是一个好习惯。
单例对象:在应用程序中,我们通常为共享静态数据创建单例对象。因此,如果共享数据没有变化,那么它是不可变对象的绝佳候选者。如果您不熟悉单例模式,请参阅这篇文章 C# 中的单例模式。
推荐阅读
- tomcat - 无法使用 POSTMAN 将数据发布到 Apache Tomcat 服务器
- copy - 不使用 tablemodel 克隆 JTable
- node.js - 另一台电脑上的 Debugger-ui
- java - 在java中的主类中设置一个类中的数组大小
- c++ - 指针空检查评估为真,即使它没有分配空值
- node.js - 在 Multer-s3 上重命名上传的图像
- python-2.7 - 如何在 matplotlib 中重复调用 ylim()?
- php - 如何使用 Mock 函数在 Phpunit 中获取异常
- android - Android,如何提取系统应用程序并执行一些检查
- ios - 如何用另一个 UIView 的矩形切割 UIView 的顶角