服务好的南昌网站制作,如何设计一个网络,福田蒙派克优缺点,建设商城网站公司吗因为中间看了一本其他的书#xff0c;差不多一个月未跟新读书笔记了#xff0c;这段时间要补补课#xff0c;接着上一章继续说说何时重构#xff0c;文章中很多重构的方法这里还没有说明#xff0c;后续章节会详细的介绍这些经常使用到的重构方法#xff0c;尽请期待差不多一个月未跟新读书笔记了这段时间要补补课接着上一章继续说说何时重构文章中很多重构的方法这里还没有说明后续章节会详细的介绍这些经常使用到的重构方法尽请期待 11、平行继承体系Parallel每当你为某个类增加一个子类的时候也必须为另一个类增加一个子类。如果你发现某个继承体系的名称前缀和另一个继承体系的名称前缀完全相同的时候就是需要重构的地方了。 12、冗赘类Lazy Class你创建的没一个类都得有人去理解它、维护它这些工作都是要花钱的。如果一个类的所得不值其自身价值那么它就应该消失。 13、夸夸其他未来性Speculative Generality如果所有装置都会被用到那就值得做如果用不到就不值得。它们只会挡你的路所以把它搬开吧。 14、令人迷惑的暂时值域Temporary Field有时你会看到这样的对象其内某个instance变量仅为某种特定情势而设。这样的代码让人不易理解因为你通常认为对象在所有时候都需要它的所有变量。你应该提炼类然后把所有和这个变量相关的代码都放进这个新家。 15、过度耦合的消息链Message Chains用户向一个对象索求request另一个对象然后再向后者索求另一个对象然后再索求另一个对象……这就是消息链Message Chains。实际代码中你看到的可能是一长串getThis()或一长串临时变量。采取这种方式将会导致紧密的耦合性一旦对象间的关系发生任何变化客户端就不得不作出相应修改。可以使用Hide Delegate方法进行重构后续会讲解如何使用。 16、中间转手人Middle Man如果一个类接口有一半的函数都委托给其他的类这样就是过度运用委托这个时候你应该直接移除中间类直接和实责对象打交道。 17、狎昵关系Inappropriate Intimacy有时你会看到两个类过于亲密花费太多时间去探究彼此的私有成分。你可以采用 Move Method 和 Move Field 帮它们划清界线从而减少狎昵行径。你也可以看看是否运用 Change Bidirectional Association to Unidirectional 让其中一个class对另一个斩断情丝。如果两个实在是情投意合可以运用Extract Class 把两者共同点提炼到一个安全地点让它们坦荡地使用这个新class。或者也可以尝试运用 Hide Delegate 让另一个class来为它们传递相思情。 18、异曲同工的类Alternative Classes with Different Interfaces两个函数做同一件事确有着不同的签名式请运用重命名的方式按照它们的用途重新命名并反复运用移动函数的方法将某些行为移入类中直到其协议一致。 19、不完美的程序类库Incomplete Library Class许多程序都建立在封装好的类库上有些类库并不是那么完美如果你想要修改它们可以运用Introduce Foreign Method和Introduce Local Extension。 20、数据类Data Class数据类中不应有Public值域如果含有容器类值域Collection Fields你应该检查它们是否得到了恰当的封装对于不该被其他类修改的值域请取消Setting方法。 21、被拒绝的遗赠Refused Bequest有时候继承一个类的子类并不需要使用全部父类的方法大部分方法甚至与子类并无任何关系这时候你需要用委托的方式来代替继承Replace Inheritance with Delegation。 22、过多的注释Comments:有时候因为代码很糟糕才写了长长的注释这个时候尝试重构代码消除长长的注释。 已有 0 人发表留言猛击-这里-参与讨论 ITeye推荐 —软件人才免语言低担保 赴美带薪读研— 转载于:https://www.cnblogs.com/TCrow/archive/2012/05/21/2868254.html