理解:本文中的”去除上帝类”是指把一个看似功能很强且很难维护的类,按照职责把自己的属性或方法分派到各自的类中或分解成功能明确的类,从而去掉上帝类。 详解:我们经常可以在一些原来的代码中见到一些类明确违反了SRP原则(单一原则),这些类通常以“Utils”或“Manager”后缀结尾,但有时这些类 ...
关于上帝类 神说: 要有光 ,就有了光。 圣经 。上帝要是会写程序,他写的类一定是 上帝类 。程序员不是上帝,不要妄想成为上帝,但程序员可以写出 上帝类 。上帝是唯一的,上帝的光芒照耀人间,上帝是很爱面子的,他知道程序员写了 上帝类 ,抢了他的风头,于是他降下神罚要惩戒程序员。 既然你写了 上帝类 ,那么就将你流放到艰难地修改和痛苦的维护的炼狱中,在地狱之火中永久地熬炼。 你看,上帝也是有脾气的, ...
2016-05-14 15:19 0 1944 推荐指数:
理解:本文中的”去除上帝类”是指把一个看似功能很强且很难维护的类,按照职责把自己的属性或方法分派到各自的类中或分解成功能明确的类,从而去掉上帝类。 详解:我们经常可以在一些原来的代码中见到一些类明确违反了SRP原则(单一原则),这些类通常以“Utils”或“Manager”后缀结尾,但有时这些类 ...
的“移动方法”,是一种让方法放进合适的class的重构策略。 选择合适的容器 生活中我们会用到杯子和 ...
为了方便大家阅读这个系列的文章,我弄了个目录汇总。 开篇和结尾 开篇有益 (2016-04-23) 终篇总结 (2016-06-02) 方法、字段重构 移动方法 (2016-04-24) 提取方法、提取方法对象 (2016-04-26) 方法、字段的提升和降低 ...
概述 阅读文章时,如果某个段落已经传达了关键信息,我们可能就不会逐字逐句地将文章读完,因为我们已经知道了这篇文章的核心内容。与此类似,如果方法中某些条件判断可以得到结果,我们应该尽快返回该结果。 ...
概述 “分离职责”是经常使用的一个重构策略,当一个类担任的职责太多时,应按职责将它拆分成多个类,每个类分别承担“单一”的职责,也就是让每个类专心地做“一件事情”。 SRP原则 在面向对象编程中,SRP原则是一个非常重要的原则(SOLID原则都很重要),在展示示例前,我们先了解一下SRP原则 ...
概述 当方法返回类型或属性类型为集合时,有些开发者会千篇一律地使用IList<T>集合。然而IList<T>具有集合的所有操作,这意味着调用者不仅可以读取集合信息,还能够修改 ...
概述 代码是从命名开始的,我们给类、方法、变量和参数命名,我们也给解决方案、工程、目录命名。在编码时,除了应该遵守编程语言本身的命名规范外,我们应该提供好的命名。好的命名意味着良好的可读性,读你代码的人无需太多的注释,就能通过名称知道它是什么,它能做什么事儿,以及它应该怎么用。 我们命名、命名 ...
简述 如果方法有超过3个以上的参数,调用方法时就会显得冗词赘句。这时将多个参数封装成一个对象,调用方法会显得干净整洁。这就是本文要讲的重构策略“引入参数对象”——将方法的参数封为类,并用这个类的对象替换方法中原有的参数。 引入参数对象 下图演示了这个重构策略,OrderSerivce表示订单 ...