重构与模式(Refactoring to Patterns)-读书笔记

           第一章

 ☛过度设计:是指代码的灵活性和复杂性超出所需。

第二章

☛重构是一种保持行为的转换。

第三章

☛每一个模式都是由三部分组成的规则,他表达的是某一环境,一个问题以及解决问题的方案之间的关系。

☛模式痴迷:对模式过于依赖。

第四章

☛代码坏味道

      ●代码重复(Duplicated Code)

           通常可以通过形成Template Method重构。      

      ●方法过长(Long Method)

      ●条件逻辑太复杂(Conditional Complexity)

      ●基本类型迷恋(Primitive Obsession)

      ●不恰当的暴漏(Indecent Exposure)

           用工厂封装类重构可以去除这种坏味道。

      ●解决方案蔓延(Solution Sprawl)

      ●异曲同工的类(Alternative Classes with Different Interfaces)

      ●冗余类(Lazy class)

      ●类过大(Large Class)

      ●分支语句(Switch Statement)

      ●组合爆炸(Combinatorial Explosion)

      ●怪异解决方案(Oddball Solution)

 第六章

☛解决各种设计代码的问题

      ●用Creation Method 替换构造函数

       类中有多个构造函数,很难决定用哪一个。

      ●  将创建知识版移到Factory   

        用来实例化的一个类的数据和代码在多个类中到处都是。移到factory。

      ●用Factory封装类

       直接实例化处在同一包结构中,实现同一接口的多个类。把类的构造函数声明为非公共的,并通过Factory来创建他们的实例。

      ●用Factory Method 引入多态的创建。

      一个层次中的类都类似的实现一个方法,只是创建的步骤不同。创建调用Factory Method来处理实例化的方法的唯一超类版本。

第七章 

☛简化

      ●组合方法

      你无法迅速的理解一个方法的逻辑。把方法的逻辑转换成几个同一细节层面上的,能够说明意图的步骤。

      ●用Strategy替换条件逻辑。

      方法中条件逻辑控制着应该执行哪个计算的变体,为每一个变体创建一个Strategy并使方法把计算委托到Strategy实例。

      ●将装饰功能搬移到Decorator

      代码向类的核心职责提供装饰的功能。将装饰代码搬移到Decorator。

      ●用state替换状态改变条件语句

       控制一个对象的转换条件的表达式过于复杂。

       用处理特殊状态和转换的State类来替换条件语句。

      ●

      ●

      ●

      ●

      ●

☛☛☛☛☛☛☛☛☛

posted @ 2016-03-30 12:52  戎码一生  阅读(858)  评论(0编辑  收藏  举报