反情势读书笔记之胖球(—)[Java编程]
本文“反情势读书笔记之胖球(—)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.胖球产生的缘由:
胖球反情势本身是很简单,但大概由于忽视,后期没加以掌握,系统急于上线等等缘由而呈现了.
胖球反情势通过描写一个或几个类不断的膨胀,以至吞食掉整个面向对象架构.普通胖球的呈现是由于一个类垄断了处理历程,而其他的类只是数据的封装体.
固然OOA&D 提出了好久,但有些人的思维还逗留在历程式的计划上,他们习惯把历程和数据脱离,而不是OO中把交融了办法和数据的对象举行职责分割.胖球大概是需求解析不当的后果,也大概是系统不断演进,迭代,新功效和新人员的加入而使部份构件非常宏大而没有举行有效的职责分割,于是某个类成了构件或整个系统的主宰.
总的来说,呈现此种问题的缘由主如果贫乏面向对象架构,贫乏对架构的实施和干涉以及历程式需求的错误指导.
2.症状和后果:
(1)单个类拥有大量的属性或操作.
(2)单个类中封装了异类的、不相关的属性和操作集.
(3)单个掌握器类和几个简单的数据对象接洽在一同.
(4)贫乏面向对象的计划,一个掌握器类几近封装了全部的利勤奋效.
(5)掌握器类普通过于复杂,无法复用和测试.
(6)把这么个大类加载如内存中的代价大概会很高.
3.重构筹划:
胖球重构的办法很简单,就是把一些行为重新分配到某些封装了数据的对象上,并对对象之间的关系重新调整(构件和衔接件关系调整).
(1)肯定代表契约的关系操作和属性调集,也就是把相关的属性和办法归类.
(2)探求这些按照契约的到了调集的“自然的家”,并把它们迁移过去.
(3)移除全部的“远耦合”大概说冗余的、间接的接洽.
(4)最后,移除全部的瞬时接洽.
总之,我们把一个掌握器类变成了一个调和器类,让开始的数据类扩大一些处理逻辑,数据类在调和类的指导下举行操作,这也只是职责的迁移.
胖球反情势有两种情势为行为情势和数据情势,所谓行为情势及全部的处理历程都包含在一个对象中,它与系统中的大大都对象举行交互;数据情势的对象则包含的数据被系统的大部份其他对象所利用.
以上是“反情势读书笔记之胖球(—)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |