仓酷云

标题: 来看反形式念书条记之胖球(―) [打印本页]

作者: 仓酷云    时间: 2015-1-18 11:18
标题: 来看反形式念书条记之胖球(―)
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。
1.胖球发生的缘故原由:
胖球反形式自己是很复杂,但大概因为忽略,前期没加以把持,体系急于上线等等缘故原由而呈现了。
胖球反形式经由过程形貌一个或几个类不休的收缩,以致吞食失落全部面向对象架构。一样平常胖球的呈现是因为一个类把持了处置历程,而其他的类只是数据的封装体。
固然OOA&D提出了好久,但有些人的头脑还停止在历程式的计划上,他们习气把历程和数据分隔,而不是OO中把交融了办法和数据的对象举行职责支解。胖球多是需求剖析不妥的了局,也多是体系不休演进,迭代,新功效和新职员的到场而使部分构件非常复杂而没有举行无效的职责支解,因而某个类成了构件或全部体系的主宰。
总的来讲,呈现此种成绩的缘故原由次要是缺少面向对象架构,缺少对架构的实行和干涉和历程式需求的毛病引诱。
2.症状和成果:
(1)单个类具有大批的属性或操纵。
(2)单个类中封装了异类的、不相干的属性和操纵集。
(3)单个把持器类和几个复杂的数据对象接洽在一同。
(4)缺少面向对象的计划,一个把持器类几近封装了一切的使用功效。
(5)把持器类一般过于庞大,没法复用和测试。
(6)把这么个年夜类加载如内存中的价值大概会很高。
3.重构计划:
胖球重构的办法很复杂,就是把一些举动从头分派到某些封装了数据的对象上,并对对象之间的干系重新调剂(构件和毗连件干系调剂)。
(1)断定代表左券的干系操纵和属性汇合,也就是把相干的属性和办法回类。
(2)寻觅这些依据左券的到了汇合的“天然的家”,并把它们迁徙已往。
(3)移除一切的“远耦合”大概说冗余的、直接的接洽。
(4)最初,移除一切的瞬时接洽。
总之,我们把一个把持器类酿成了一个和谐器类,闪开始的数据类扩大一些处置逻辑,数据类在和谐类的引导下举行操纵,这也只是职责的迁徙。
胖球反形式有两种情势为举动情势和数据情势,所谓举动情势及一切的处置历程都包括在一个对象中,它与体系中的年夜多半对象举行交互;数据情势的对象则包括的数据被体系的年夜部分其他对象所利用。

你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。
作者: 不帅    时间: 2015-1-20 19:52
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 透明    时间: 2015-1-28 11:20
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者: 爱飞    时间: 2015-2-5 06:27
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者: 再现理想    时间: 2015-2-5 14:34
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者: 兰色精灵    时间: 2015-2-10 06:38
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 变相怪杰    时间: 2015-2-17 00:47
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者: 愤怒的大鸟    时间: 2015-3-5 13:45
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
作者: 若相依    时间: 2015-3-11 06:41
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: 灵魂腐蚀    时间: 2015-3-17 22:48
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者: 谁可相欹    时间: 2015-3-25 04:12
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2