04 2023 档案
摘要:1.1 每个对象都提供服务 将对象想象成服务提供者,将问题分解为对象。 1.2 隐藏具体实现 第一个原因,让客户端程序员无法触及他们不应该触及的部分 第二个原因,改变类的内部工作方式而不影响客户端程序员 1.3 复用具体实现 1.4 继承 在原有类的基础上进行扩展 1.5 多态 后期绑定,当向对象发
阅读全文
摘要:10.1 函数改名 函数的名称应该准确表达他的用途,首先考虑应该给函数写一个注释,然后想办法把注释改成函数名称 10.2 添加参数 用对象代替多个参数 10.3 移除多余的参数 10.4 将查询函数和修改函数分离 10.5 令函数携带参数 它们有着类似的工作,通过参数处理这些变化。 10.6 已明确
阅读全文
摘要:卫语句、策略模式、状态模式 https://www.cnblogs.com/zeling/p/8494832.html 9.1 引入断言
阅读全文
摘要:8.1 自封装字段 例如,取值逻辑封装进对象 8.2 以对象取代数据值 如果一个字段不能表达清楚业务含义,还需要添加多个相关联的字段。考虑添加一个新的对象。 8.3 以对象取代数组,或多个参数 8.4 将单向关联变成双向关联 引用类希望得到它的引用者,以便进行某些处理。例如:订单 Order和客户
阅读全文
摘要:7.1 搬移函数、搬移字段,考虑在那个类里使用的字段较多,搬移到使用字段多的那个类。 7.2 提炼类,一个类有大量的函数和数据。考虑哪些部分可以分离出去 7.3 类内联化,与提炼类相反。如果一个类不在承担足够责任,不在有单独存在的理由。考虑塞进另一个类
阅读全文
摘要:6.1 提炼函数 一个过长的函数或者一段,需要注释才能理解用途的代码,将这段代码放入一个独立的函数。 每个函数的粒度很小,复用的机会就会很大。高层函数可读性就很高,看起来就是再读一堆注释。函数都是细粒度,复写也会更容易。 提炼出的函数,根据这个函数的意图来命名(以它做什么命名,而不是怎么做命名) 将
阅读全文
摘要:5.1 重构的记录格式 名称(name)。 简短概要(summary),简单介绍重构手法的适用场景,以及它所做的事情,帮助更快的找到重构手法。 动机,为什么需要这个重构和什么情况下不该使用这个重构 做法,简明介绍如何进行次重构 范例,已一个十分简单的例子说明次重构手法如何运作 5.2 寻找引用点 借
阅读全文

浙公网安备 33010602011771号