美文网首页
对象健身操九式

对象健身操九式

作者: 汤姆英朗 | 来源:发表于2019-07-25 17:21 被阅读0次

优秀设计背后的七条核心概念

内聚性,松耦合,零重复,封装,可测试性,可读性,单一职责。

采用这些规则的关键在于:只要使用Java语言,就应该使用面向对象的思考。

规则1:方法只使用一级缩进

动机:庞大的方法往往缺少内聚性,一个常见的原则是将方法控制着5行以内(不包括入参检查)。你可以尝试让每个方法只做一件事情——每个方法只保护一个控制结构或一个代码块。

方法:利用IDE的抽取方法的功能,不断的抽取方法中的行为,直到一个方法只有一级缩进位置。

“运用这些规则的技能是一种艺术,它能将程序员提升到一个新的高度。”

规则2:拒绝else关键字

动机:复杂的条件判决难于理解,而且易产生重复代码。

方法:对于简单判断可以使用卫语句和提前返回,对于复杂的条件判断则可以使用多态。另外也可以使用策略模式。

规则3:封装所有的原生类型和字符串

动机:整数只是代表一个数量,没有实际的含义。用类来表示原生类型,比如年,月,日等。这样可以进行严格的类型检查。

规则4:一行代码只有一个“.”(或者“->”)运算符

动机:如果一行中含有多个“.”,则说明很多职责的位置放置错了。尝试让对象为你做一些事情,而不要窥视对象内部的细节。封装的含义就是,不要让类的边界跨入到它不应该知道的类型中。

规则5:不要使用缩写

动机:缩写的原因:1)一遍一遍的敲打同样的单词,则可能是因为某个方法调用过于频繁——要消除一下重复。2)方法名字太长——可能是职责没有放在应该在的位置或者有确实的类。

方法:所有实体对象的名称都只能包含一到两个单词,不要使用缩写。

规则6:保持对象实体简单清晰

动机:超过50行的类所做的事情通常都不止一个。这会导致他们难以理解和重用。这意味着每个类的长度不能超过50行。每个包所包含的文件不超过10个。

规则7:任何人类中的实例变量不要超过两个

动机:将一个对象从拥有大量属性的状态,解构成分层次的,相互关联的多个对象,会直接产生一个更实用的对象模型。将一个复杂的大的对象,分解成多个简单的对象。

方法:可以将实例变量按照相关性分离在两个部分中;可以创建一个新的对象来封装两个已有的实例变量。

规则8:使用一流的集合

集合的概念应该是一类实例的集合。比如,定时器对象的集合——包括所有的定时器。我一般是放在定时器类中,然后使用static来表示集合。看了这个方法要改一下了。

任何包含集合的类都不能再包含其他的成员变量。每个集合都被封装在自己的类中。集合其实是一种应用广泛的原生类型。

规则9:不要使用任何的Geter/Setter/Proerty

Geter/Setter/Proerty会对对象的封装性找出破坏。

在严格封装的边界背后,真正的动机是迫使程序员在完成编码后,一定要为这段代码的行为找到一个合适的位置,确保它在对象模型中的唯一性。

这样可以减少重复性的差错,以及在添加新特性的时候,可以在一个更合适的位置引入变化。

这九条原则可以作为对面向对象优秀设计的训练(可以通过一个小的项目),但是,在实际的过程中不可以教条的应用上面的原则。引用P.J. Plauger的话:

“你在应用某种设计方法的时候越教条化,你所能解决的现实问题就会越少。请把设计看出是一个险恶的,杂乱的和启发式的过程(没有教条化的规则可以遵循,能够巧好解决现实问题的方案才是最佳的方案)。不要停留于你所想到的第一套方案,而是去寻求合作,探求简洁性,在需要的时候做出原型,迭代,并进一步迭代。你将对你的设计成果感到满意。”

相关文章

  • 对象健身操九式

    优秀设计背后的七条核心概念: 内聚性,松耦合,零重复,封装,可测试性,可读性,单一职责。 采用这些规则的关键在于:...

  • 健身操

    平时在老家,总是五点半约好几个朋友一起散步四十分钟,昨天中午来姐家串亲戚,早上姐姐带我来大公园跳健身操,来的时候很...

  • 健身操

    每次散步归来,经过小区的拐角,一群男女老少正在使劲的挥舞……很劲霸的那种健身操。偶尔一次再次经过,儿子丢下...

  • 健身操

    我是个没有运动细胞的人,从小就不爱运动,前两年身体状态不是太好,医生建议做点运动,东哥也说让我跟他天天跑跑步,但...

  • 健身操

    沿路,健身操的音乐起! 舞动的人群男女老少幼,我们也加入了?

  • 健身操

    1.胸前直压手臂:双脚跨大步,手臂伸直向前,左右扭腰; 2.双手攥拳,弯肘与肩平,上下动,左右扭腰; 3.上下起蹲...

  • 健身操

    最近几天由于腹泻,昨天早上跑着跑着便没劲了。人的身体健康很重要,若是那个零件出了问题就会立马给你个样看。 今早我不...

  • 健身操

    最近,刘畊宏直播跳健身操很火,不仅有上百万粉丝追播,甚至不少明星也在跟跳,如钟丽缇、应采儿等。 吃过晚饭,我也跟着...

  • 健身操

    今年冬天迷上健身操。 最早是辰姐的,比较简单,动作剧烈的较少 现在迷上武阿哥,动作变化较多。动作剧烈的“过年啦”练...

  • 健身操

    我不相信有人没有练过健身操,尤其是疫情时在家有时间的时候。 刘畊宏老师练的毽子操我是练不了的,我曾经尝试跳过...

网友评论

      本文标题:对象健身操九式

      本文链接:https://www.haomeiwen.com/subject/jwxkrctx.html