封装记录

Posted yoyoluxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装记录相关的知识,希望对你有一定的参考价值。

 

封装记录也叫做使用数据类来代替记录  

其实也就是对记录型结构使用进行抽象

 

什么是记录型结构?

“记录型结构是多数编程语言提供的一种常见特性。它们能直观地组织起存在关联的数据,让我可以将数据作为有意义的单元传递,而不仅是一堆数据的拼凑”

摘录来自: 马丁·福勒(Martin Fowler). “重构:改善既有代码的设计(第2版)。”

记录型结构我觉得就是一个对象,其属性具有特定含义。(不对的话,还请在评论区指出)

const person = { name: ‘luxi‘, age: 26 }   // 结构型

const person = {  b: ‘xxx‘  }  // 不是  

 

为什么需要使用封装记录?

传统封装的好处:

  1. 提高代码的可控性,避免任意修改属性值,造成值不统一。
  2. 提高代码的易用性,减少开放的调用方法,减少调用者的负担。

封装记录的好处?

  1. 只对需要使用的属性,提供了调用方法,提高了代码的易用性。
  2. 有助于字段改名,字段改名后可以在旧字段存取方法里调用新字段的存取方法,实现兼容,然后逐步的修改调用方,直到替换完成。

 

可变数据和不可变数据?

作者在文中提到,对于可变对象更偏爱使用对象类,也就是所谓的封装记录。

 

那什么是可变数据和不可变数据呢?

简单来说就是如果一个变量修改值会导致其在内存中地址的改变,那么它就是一个不可变数据,否则就是一个可变数据。

 

 

 

对于可变数据为什么应该使用类?

  

// 

1 为记录型结构 封装函数 (读取,写入) 

 对结构中字段的更新先调用函数获取结构,再对结构更新

2 创建类

  

以上是关于封装记录的主要内容,如果未能解决你的问题,请参考以下文章

记录 |探究一次嗅到坏代码后封装再封装

Java学习记录(补充三:面向对象的封装和继承)

js封装简单实例源码记录

工作中搜索页面搜索记录功能的封装(存储到本地)

python - 日志记录模块(logging)的二次封装

记录自写AFNetWorking封装类