前言 “艺术源于生活”——代码也源于生活,你在生活中的一些行为习惯,可能会恰如其分地体现在代码中。当实现较为复杂的功能时,由于它包含一系列的逻辑,我们倾向于编写一个“大方法”来实现。为了使项目便于维护,以及增强代码的可读性,我们有必要对“大方法”的逻辑进行整理,并提取出分散的“小方法”。这就 ...
前言 世间唯一 不变 的是 变化 本身,这句话同样适用于软件设计和开发。在软件系统中,模块 类 方法 应该依赖于抽象,而不应该依赖于实现。 当需求发生 变化 时,如果模块 类 方法 依赖于具体实现,具体实现也需要修改 如果模块 类 方法 依赖于接口,则无需修改现有实现,而是基于接口扩展新的实现。 面向实现 面向接口 接口可以被复用,但接口的实现却不一定能被复用。 面向实现编程,意味着软件的模块 类 ...
2016-05-08 23:09 11 1081 推荐指数:
前言 “艺术源于生活”——代码也源于生活,你在生活中的一些行为习惯,可能会恰如其分地体现在代码中。当实现较为复杂的功能时,由于它包含一系列的逻辑,我们倾向于编写一个“大方法”来实现。为了使项目便于维护,以及增强代码的可读性,我们有必要对“大方法”的逻辑进行整理,并提取出分散的“小方法”。这就 ...
的“移动方法”,是一种让方法放进合适的class的重构策略。 选择合适的容器 生活中我们会用到杯子和 ...
为了方便大家阅读这个系列的文章,我弄了个目录汇总。 开篇和结尾 开篇有益 (2016-04-23) 终篇总结 (2016-06-02) 方法、字段重构 移动方法 (2016-04-24) 提取方法、提取方法对象 (2016-04-26) 方法、字段的提升和降低 ...
概述 阅读文章时,如果某个段落已经传达了关键信息,我们可能就不会逐字逐句地将文章读完,因为我们已经知道了这篇文章的核心内容。与此类似,如果方法中某些条件判断可以得到结果,我们应该尽快返回该结果。 ...
概述 “分离职责”是经常使用的一个重构策略,当一个类担任的职责太多时,应按职责将它拆分成多个类,每个类分别承担“单一”的职责,也就是让每个类专心地做“一件事情”。 SRP原则 在面向对象编程中,SRP原则是一个非常重要的原则(SOLID原则都很重要),在展示示例前,我们先了解一下SRP原则 ...
概述 当方法返回类型或属性类型为集合时,有些开发者会千篇一律地使用IList<T>集合。然而IList<T>具有集合的所有操作,这意味着调用者不仅可以读取集合信息,还能够修改 ...
概述 代码是从命名开始的,我们给类、方法、变量和参数命名,我们也给解决方案、工程、目录命名。在编码时,除了应该遵守编程语言本身的命名规范外,我们应该提供好的命名。好的命名意味着良好的可读性,读你代码 ...
简述 如果方法有超过3个以上的参数,调用方法时就会显得冗词赘句。这时将多个参数封装成一个对象,调用方法会显得干净整洁。这就是本文要讲的重构策略“引入参数对象”——将方法的参数封为类,并用这个类的对象替换方法中原有的参数。 引入参数对象 下图演示了这个重构策略,OrderSerivce表示订单 ...