重构章7读书笔记
《重构:改善既有代码的设计(第2版)》 ePUBw.COM 38个笔记
如果我发现做一件事可以有更清晰的方式,我就会用比较清晰的方式取代复杂的方式
动机
Substitute Algorithm
7.9
每当客户端要使用受托类的新特性时,你就必须在服务端添加一个简单委托函数
是有代价的
封装受托对象
Remove Middle Man
7.8
封装”意味着每个模块都应该尽可能少了解系统的其他部分。如此一来,一旦发生变化,需要了解这一变化的模块就会比较少
动机
Hide Delegate
7.7
如果一个类不再承担足够责任,不再有单独存在的理由
动机
Inline Class
7.6
如果你发现子类化只影响类的部分特性,或如果你发现某些特性需要以一种方式来子类化,某些特性则需要以另一种方式子类化
类往往因为太大而不易理解
动机
Extract Class
如果我正在分解一个冗长的函数,那么将变量抽取到函数里能使函数的分解过程更简单,
Replace Temp with Query
7.4
Replace Primitive with Object
7.3
避免直接修改集合
动机
7.2 封装集合(Encapsulate Collection)
比如可以修改getRawDataOfCustomers函数,让其返回一份数据的深复制的副本
如何确认
对象可以隐藏结构的细节
它强迫我清晰地区分“记录中存储的数据”和“通过计算得到的数据”。
简单的记录型结构也有缺陷,
动机
7.1 封装记录(Encapsulate Record
但过多隐藏也会导致冗余的中间接口,此时我就需要它的反向重构——移除中间人
◆ 第7章 封装
分解模块时最重要的标准,也许就是识别出那些模块应该对外界隐藏的小秘密了
这篇好文章是转载于:编程之路
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 编程之路
- 本文地址: /boutique/detail/tanhgiijif
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13