Skip to content

Latest commit

 

History

History

private_class_data

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

私有类数据

在目标类初始化时,将数据封装到数据类中,并保持数据类与封装类的隔离。

UML

使用场景

  • 类的初始化数据是一次性的不可修改的数据。
  • 需要控制对类的初始化数据的更改。
  • 预防对初始化数据的不必要的更改。

优点

  • 减少类对外暴露的属性。
  • 从类中移除了对数据的写权限。

缺点

  • 增加了复杂度
  • 如果需要修改一条数据,需要重新初始化整个数据类

场景案例

  • 在Qt框架中使用了共享库私有类数据模式。实现模式的类存在一个指向数据类的“ d指针”。提供了用于操作数据类中的成员变量的方法,从而允许对数据进行更改, 而不会破坏数据二进制兼容性。