2019年12月2日
摘要: Introduce Explaining Variable 概述 将复杂表达式的结果放进一个临时变量,以此变量名称来解释表达式用途。 动机(Motivation) 表达式有可能非常复杂而难以阅读,临时变量可以帮助你将表达式分解为比较容易管理的形式。 作法(Mechanics) 1、声明一个final 阅读全文
posted @ 2019-12-02 14:36 低调的小郭 阅读(166) 评论(0) 推荐(0) 编辑
摘要: Replace Temp with Query 概述 程序以一个临时变量(temp)保存某一表达式的运算结果。将这个表达式提炼到一个独立函数(查询式,query)中。将这个临时变量的所有(被引用点)替换为对新函数的调用。新函数可被其它函数使用。 动机(Motivation) 临时变量的问题在于,它们 阅读全文
posted @ 2019-12-02 14:25 低调的小郭 阅读(375) 评论(0) 推荐(1) 编辑
摘要: Inline Temp 概述 一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其它重构手法。 动机(Motivation) Inline Temp多半是作为Replace Temp with Query的一部分来使用。惟一单独使用Inline Temp的情况是:你发现某个临时变量被赋予某个函数调 阅读全文
posted @ 2019-12-02 14:14 低调的小郭 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Inline Method(内联函数) 一、Inline Method 概述 一个函数,其本体(method body)应该与其名称(method name)同样清楚易懂. 动机(Motivation) 以简短的函数表现动作意图,这样会使代码更清晰易读.但有时候你会遇到某些函数.其内部代码和函数名称 阅读全文
posted @ 2019-12-02 11:33 低调的小郭 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 引用自 Refactoring Improving the Design of Existing Code Martin Fowler 1.Extract Method(提炼函数) 范例(Examples) 1、无局部变量(No Local Variables) public class Extra 阅读全文
posted @ 2019-12-02 09:30 低调的小郭 阅读(966) 评论(0) 推荐(0) 编辑
  2019年11月21日
摘要: Bridge Pattern Use the Bridge Pattern to vary not only you rimplementations, but also your abstractions. 模式类图 桥接模式包含如下角色: • Abstraction:抽象类 • RefinedA 阅读全文
posted @ 2019-11-21 18:02 低调的小郭 阅读(385) 评论(0) 推荐(0) 编辑
  2019年10月21日
摘要: 里氏替换原则【Liskov Substitution Principle】 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。(If 阅读全文
posted @ 2019-10-21 23:46 低调的小郭 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 依赖倒置原则 依赖倒置原则(Dependence Inversion Principle,简称DIP) 依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depend upon 阅读全文
posted @ 2019-10-21 00:08 低调的小郭 阅读(155) 评论(0) 推荐(0) 编辑
  2019年10月19日
摘要: 接口隔离原则 1.什么是接口隔离原则 Clients should not be forced to depend upon interfaces that they don't use.(客户端不应该强行依赖它不需要的接口) The dependency of one class to anoth 阅读全文
posted @ 2019-10-19 22:18 低调的小郭 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 单一职责原则(SRP:The Single Responsibility Principle) 一个类应该有且只有一个变化的原因。 There should never be more than one reason for a class to change. 为什么将不同的职责分离到单独的类中是 阅读全文
posted @ 2019-10-19 15:48 低调的小郭 阅读(188) 评论(0) 推荐(0) 编辑