文档开发者中心
我的

CleanCode总结系列(5)--对象和数据结构

1、数据抽象

类通过暴露抽象接口,是用户无需了解数据的实现就能操作数据本体

2、数据、对象的反称性

      过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下增加新函数

       面向对象代码便于在不改动既有函数的前提下新增新类

3、德墨忒尔律

德墨忒尔律:模块不应了解他所操作对象的内部情形。换言之,方法不应调用由任何函数返回的对象的方法。

      3.1 火车失事

一连串的函数调用,看起来就像是一列火车,这类代码成为火车失事

       3.2 混杂

混杂,即一半是对象,一半是数据结构,这种结构拥有执行操作的函数,也有公共变量或公共访问器即改值器

混杂增加了增加新函数的难度,也增加了增加新数据结构的难度。两面不讨好

      3.3 隐藏结构

对于多个串行调用的函数的情形,可以根据最终调用获取值的目的,可以直接将此目的实现为对象的一个方法,这样即可完成对内部结构的隐藏

4、数据传送对象

最为精炼的数据结构,是一个只有公共变量、没有函数的类,这种数据结构有时被称为数据传送对象,或DTO(Data Transfer Object)



点赞
1
收藏
回复
3
分享
举报
浏览1011 编辑于2019-11-09 04:01未知归属地
全部评论
最多点赞
最新发布
最早发布

不错哦,感谢分享


3楼回复于2019-11-12 03:04 未知归属地

关联阅读:


CleanCode总结系列(1)--有意义的命名原则


CleanCode总结系列(2)--函数


CleanCode总结系列(3)--注释


CleanCode总结系列(4)--格式

2楼回复于2019-11-11 09:38 未知归属地

默默的在楼下放上关联阅读~

1楼回复于2019-11-11 09:36 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。