auto commit

This commit is contained in:
CyC2018
2018-02-22 01:51:07 +08:00
parent be93a81427
commit cc1daa03cf
4 changed files with 105 additions and 105 deletions

View File

@ -1,108 +1,108 @@
<!-- GFM-TOC -->
* [<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> <20>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><>һ<EFBFBD><D2BB>-<2D>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><>һ<EFBFBD><D2BB>-<2D><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD> <20>ع<EFBFBD>ԭ<EFBFBD><D4AD>](#<23>ڶ<EFBFBD><DAB6><EFBFBD>-<2D>ع<EFBFBD>ԭ<EFBFBD><D4AD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ζ<EFBFBD><CEB6>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ζ<EFBFBD><CEB6>)
* [1. Duplicated Code<64><65><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>](#1-duplicated-code<64><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [2. Long Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#2-long-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [3. Large Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-large-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Long Parameter List<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>У<EFBFBD>](#4-long-parameter-list<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>)
* [5. Divergent Change<67><65><EFBFBD><EFBFBD>ɢʽ<C9A2><EFBFBD><E4BBAF>](#5-divergent-change<67><65><EFBFBD><EFBFBD>ɢʽ<EFBFBD><EFBFBD><EFBFBD>)
* [6. Shotgun Surgery<72><79>ɢ<EFBFBD><C9A2>ʽ<EFBFBD>޸ģ<DEB8>](#6-shotgun-surgery<EFBFBD><EFBFBD>ɢ<EFBFBD><EFBFBD>ʽ<EFBFBD>޸ģ<EFBFBD>)
* [7. Feature Envy<76><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-feature-envy<76><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Data Clumps<70><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>](#8-data-clumps<70><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>)
* [9. Primitive Obsession<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫִ<C6AB><D6B4>](#9-primitive-obsession<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫִ<EFBFBD><EFBFBD>)
* [10. Switch Statements<74><73>switch <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#10-switch-statements<EFBFBD><EFBFBD>switch-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [11. Parallel Inheritance Hierarchies<65><73>ƽ<EFBFBD>м̳<D0BC><CCB3><EFBFBD>ϵ<EFBFBD><CFB5>](#11-parallel-inheritance-hierarchies<EFBFBD><EFBFBD>ƽ<EFBFBD>м̳<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>)
* [12. Lazy Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#12-lazy-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [13. Speculative Generality<74><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯δ<CCB8><CEB4><EFBFBD>ԣ<EFBFBD>](#13-speculative-generality<74><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯δ<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>)
* [14. Temporary Field<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ֶΣ<D6B6>](#14-temporary-field<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ֶΣ<EFBFBD>)
* [15. Message Chains<6E><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>](#15-message-chains<6E><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [16. Middle Man<61><6E><EFBFBD>м<EFBFBD><D0BC>ˣ<EFBFBD>](#16-middle-man<61><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD>ˣ<EFBFBD>)
* [17. Inappropriate Intimacy<63><79><EFBFBD><EFBFBD><EFBFBD>ǹ<EFBFBD>ϵ<EFBFBD><CFB5>](#17-inappropriate-intimacy<63><79><EFBFBD><EFBFBD><EFBFBD>ǹ<EFBFBD>ϵ<EFBFBD><EFBFBD>)
* [18. Alernative Classes with Different Interfaces<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>](#18-alernative-classes-with-different-interfaces<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [19. Incomplete Library Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#19-incomplete-library-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [20. Data Class<73><73><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#20-data-class<73><73><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [21. Refused Bequest<73><74><EFBFBD><EFBFBD><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#21-refused-bequest<73><74><EFBFBD><EFBFBD><EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [22. Comments<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ͣ<EFBFBD>](#22-comments<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ͣ<EFBFBD>)
* [1. Duplicated Code<64><65><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>](#1-duplicated-code<64>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>)
* [2. Long Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#2-long-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [3. Large Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-large-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Long Parameter List<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>У<EFBFBD>](#4-long-parameter-list<73><74><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>)
* [5. Divergent Change<67><65><EFBFBD><EFBFBD>ɢʽ<C9A2><EFBFBD><E4BBAF>](#5-divergent-change<67><65>ɢʽ<C9A2>)
* [6. Shotgun Surgery<72><79>ɢ<EFBFBD><C9A2>ʽ<EFBFBD>޸ģ<DEB8>](#6-shotgun-surgeryɢ<79><C9A2>ʽ<EFBFBD>޸<EFBFBD>)
* [7. Feature Envy<76><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-feature-envy<76><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Data Clumps<70><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>](#8-data-clumps<70><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [9. Primitive Obsession<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫִ<C6AB><D6B4>](#9-primitive-obsession<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫִ)
* [10. Switch Statements<74><73>switch <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#10-switch-statementsswitch-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [11. Parallel Inheritance Hierarchies<65><73>ƽ<EFBFBD>м̳<D0BC><CCB3><EFBFBD>ϵ<EFBFBD><CFB5>](#11-parallel-inheritance-hierarchiesƽ<73>м̳<D0BC><CCB3><EFBFBD>ϵ)
* [12. Lazy Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#12-lazy-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [13. Speculative Generality<74><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯δ<CCB8><CEB4><EFBFBD>ԣ<EFBFBD>](#13-speculative-generality<74><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯δ<CCB8><CEB4><EFBFBD><EFBFBD>)
* [14. Temporary Field<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ֶΣ<D6B6>](#14-temporary-field<6C><64><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ֶ<EFBFBD>)
* [15. Message Chains<6E><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>](#15-message-chains<6E><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>Ϣ<EFBFBD><CFA2>)
* [16. Middle Man<61><6E><EFBFBD>м<EFBFBD><D0BC>ˣ<EFBFBD>](#16-middle-man<61>м<EFBFBD><D0BC><EFBFBD>)
* [17. Inappropriate Intimacy<63><79><EFBFBD><EFBFBD><EFBFBD>ǹ<EFBFBD>ϵ<EFBFBD><CFB5>](#17-inappropriate-intimacy<63><79><EFBFBD>ǹ<EFBFBD>ϵ)
* [18. Alernative Classes with Different Interfaces<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>](#18-alernative-classes-with-different-interfaces<65><73><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [19. Incomplete Library Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#19-incomplete-library-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [20. Data Class<73><73><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#20-data-class<73><73><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [21. Refused Bequest<73><74><EFBFBD><EFBFBD><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#21-refused-bequest<73><74><EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [22. Comments<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ͣ<EFBFBD>](#22-comments<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ع<EFBFBD><D8B9>б<EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D>ع<EFBFBD><D8B9>б<EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD>)
* [1. Extract Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#1-extract-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [2. Inline Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#2-inline-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [3. Inline Temp<6D><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-inline-temp<6D><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Replace Temp with Query<72><79><EFBFBD>Բ<EFBFBD>ѯȡ<D1AF><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-replace-temp-with-query<72><EFBFBD><EFBFBD>Բ<EFBFBD>ѯȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [5. Introduce Explaining Variable<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD>](#5-introduce-explaining-variable<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [6. Split Temporary Variable<6C><65><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#6-split-temporary-variable<6C><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [7. Remove Assigments to Parameters<72><73><EFBFBD>Ƴ<EFBFBD><C6B3>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>ĸ<EFBFBD>ֵ<EFBFBD><D6B5>](#7-remove-assigments-to-parameters<72><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>ֵ<EFBFBD><EFBFBD>)
* [8. Replace Method with Method Object<63><74><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#8-replace-method-with-method-object<63><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [9. Subsititute Algorithn<68><6E><EFBFBD><EFBFBD><EFBFBD><E3B7A8>](#9-subsititute-algorithn<68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [1. Extract Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#1-extract-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [2. Inline Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#2-inline-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [3. Inline Temp<6D><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-inline-temp<6D><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Replace Temp with Query<72><79><EFBFBD>Բ<EFBFBD>ѯȡ<D1AF><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-replace-temp-with-query<72>Բ<EFBFBD>ѯȡ<D1AF><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>)
* [5. Introduce Explaining Variable<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD>](#5-introduce-explaining-variable<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD>)
* [6. Split Temporary Variable<6C><65><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#6-split-temporary-variable<6C>ֽ<EFBFBD><D6BD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>)
* [7. Remove Assigments to Parameters<72><73><EFBFBD>Ƴ<EFBFBD><C6B3>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>ĸ<EFBFBD>ֵ<EFBFBD><D6B5>](#7-remove-assigments-to-parameters<72>Ƴ<EFBFBD><C6B3>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>ĸ<EFBFBD>ֵ)
* [8. Replace Method with Method Object<63><74><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#8-replace-method-with-method-object<63>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [9. Subsititute Algorithn<68><6E><EFBFBD><EFBFBD><EFBFBD><E3B7A8>](#9-subsititute-algorithn<68><EFBFBD>)
* [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڶ<EFBFBD><DAB6><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D>ڶ<EFBFBD><DAB6><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [1. Move Method<6F><64><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD>](#1-move-method<6F><64><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [2. Move Field<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<D6B6>](#2-move-field<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<EFBFBD>)
* [3. Extract Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-extract-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Inline Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-inline-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [5. Hide Delegate<74><65><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD>ί<EFBFBD>й<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>](#5-hide-delegate<74><65><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD>ί<EFBFBD>й<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [6. Remove Middle Man<61><6E><EFBFBD>Ƴ<EFBFBD><C6B3>м<EFBFBD><D0BC>ˣ<EFBFBD>](#6-remove-middle-man<61><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD>м<EFBFBD><EFBFBD>ˣ<EFBFBD>)
* [7. Introduce Foreign Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD>](#7-introduce-foreign-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Introduce Local Extension<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB1BE><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>](#8-introduce-local-extension<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD>)
* [1. Move Method<6F><64><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD>](#1-move-method<6F><64><EFBFBD>ƺ<EFBFBD><EFBFBD><EFBFBD>)
* [2. Move Field<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<D6B6>](#2-move-field<6C><64><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>)
* [3. Extract Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-extract-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Inline Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-inline-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [5. Hide Delegate<74><65><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD>ί<EFBFBD>й<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>](#5-hide-delegate<74><65><EFBFBD>ء<EFBFBD>ί<EFBFBD>й<EFBFBD>ϵ<EFBFBD><CFB5>)
* [6. Remove Middle Man<61><6E><EFBFBD>Ƴ<EFBFBD><C6B3>м<EFBFBD><D0BC>ˣ<EFBFBD>](#6-remove-middle-man<61>Ƴ<EFBFBD><C6B3>м<EFBFBD><D0BC><EFBFBD>)
* [7. Introduce Foreign Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD>](#7-introduce-foreign-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><EFBFBD><EFBFBD>)
* [8. Introduce Local Extension<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB1BE><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>](#8-introduce-local-extension<6F><6E><EFBFBD><EFBFBD><EBB1BE><EFBFBD><EFBFBD>չ)
* [<EFBFBD>ڰ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD>](#<23>ڰ<EFBFBD><DAB0><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD>)
* [1. Self Encapsulate Field<6C><64><EFBFBD>Է<EFBFBD>װ<EFBFBD>ֶΣ<D6B6>](#1-self-encapsulate-field<6C><EFBFBD><EFBFBD>Է<EFBFBD>װ<EFBFBD>ֶΣ<EFBFBD>)
* [2. Replace Data Value with Object<63><74><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>](#2-replace-data-value-with-object<63><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>)
* [3. Change Value to Reference<63><65><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>](#3-change-value-to-reference<63><65><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Change Reference to value<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>Ϊֵ<CEAA><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-change-reference-to-value<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [5. Replace Array with Object<63><74><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>](#5-replace-array-with-object<63><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [6. Duplicate Observed Data<74><61><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD>](#6-duplicate-observed-data<74><61><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><EFBFBD><EFBFBD>)
* [7. Change Unidirectional Association to Bidirectional<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ˫<CEAA><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-change-unidirectional-association-to-bidirectional<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Change Bidirectional Association to Unidirectional<61><6C><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#8-change-bidirectional-association-to-unidirectional<61><6C><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [9. Replace Magic Number with Symbolic Constant<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B3A3>ȡ<EFBFBD><C8A1>ħ<EFBFBD><C4A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#9-replace-magic-number-with-symbolic-constant<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ħ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [10. Encapsulate Field<6C><64><EFBFBD><EFBFBD>װ<EFBFBD>ֶΣ<D6B6>](#10-encapsulate-field<6C><64><EFBFBD><EFBFBD>װ<EFBFBD>ֶΣ<EFBFBD>)
* [11. Encapsulate Collection<6F><6E><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ϣ<EFBFBD>](#11-encapsulate-collection<6F><6E><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>)
* [12. Replace Record with Data Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>](#12-replace-record-with-data-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>)
* [13. Replace Type Code with Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#13-replace-type-code-with-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [14. Replace Type Code with Subcalsses<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#14-replace-type-code-with-subcalsses<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [15. Replace Type Code with State/Strategy <20><><EFBFBD><EFBFBD> State/Strategy ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#15-replace-type-code-with-statestrategy-<2D><><EFBFBD><EFBFBD>-statestrategy-ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [16. Replace Subclass with Fields<64><73><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>](#16-replace-subclass-with-fields<64><73><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [1. Self Encapsulate Field<6C><64><EFBFBD>Է<EFBFBD>װ<EFBFBD>ֶΣ<D6B6>](#1-self-encapsulate-field<6C>Է<EFBFBD>װ<EFBFBD>ֶ<EFBFBD>)
* [2. Replace Data Value with Object<63><74><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>](#2-replace-data-value-with-object<63>Զ<EFBFBD><D4B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ)
* [3. Change Value to Reference<63><65><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>](#3-change-value-to-reference<63><65>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>)
* [4. Change Reference to value<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>Ϊֵ<CEAA><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-change-reference-to-value<75><65><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>Ϊֵ<CEAA><D6B5><EFBFBD><EFBFBD>)
* [5. Replace Array with Object<63><74><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>](#5-replace-array-with-object<63>Զ<EFBFBD><D4B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [6. Duplicate Observed Data<74><61><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD>](#6-duplicate-observed-data<74><61>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>)
* [7. Change Unidirectional Association to Bidirectional<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ˫<CEAA><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-change-unidirectional-association-to-bidirectional<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Change Bidirectional Association to Unidirectional<61><6C><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#8-change-bidirectional-association-to-unidirectional<61><6C>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [9. Replace Magic Number with Symbolic Constant<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B3A3>ȡ<EFBFBD><C8A1>ħ<EFBFBD><C4A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#9-replace-magic-number-with-symbolic-constant<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B3A3>ȡ<EFBFBD><C8A1>ħ<EFBFBD><C4A7><EFBFBD><EFBFBD>)
* [10. Encapsulate Field<6C><64><EFBFBD><EFBFBD>װ<EFBFBD>ֶΣ<D6B6>](#10-encapsulate-field<6C><64>װ<EFBFBD>ֶ<EFBFBD>)
* [11. Encapsulate Collection<6F><6E><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ϣ<EFBFBD>](#11-encapsulate-collection<6F><6E>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>)
* [12. Replace Record with Data Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>](#12-replace-record-with-data-class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>¼)
* [13. Replace Type Code with Class<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#13-replace-type-code-with-class<73><73><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [14. Replace Type Code with Subcalsses<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#14-replace-type-code-with-subcalsses<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [15. Replace Type Code with State/Strategy <20><><EFBFBD><EFBFBD> State/Strategy ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#15-replace-type-code-with-statestrategy-<2D><>-statestrategy-ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [16. Replace Subclass with Fields<64><73><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>](#16-replace-subclass-with-fields<64><73><EFBFBD>ֶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD>ھ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ](#<23>ھ<EFBFBD><DABE><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ)
* [1. Decompose Conditional<61><6C><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#1-decompose-conditional<61><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>)
* [2. Consolidate Conditional Expression<6F><6E><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#2-consolidate-conditional-expression<6F><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>)
* [3. Consolidate Duplicate Conditional Fragments <20><><EFBFBD>ϲ<EFBFBD><CFB2>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>Σ<EFBFBD>](#3-consolidate-duplicate-conditional-fragments-<2D><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>Σ<EFBFBD>)
* [4. Remove Control Flag<61><67><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1>ǣ<EFBFBD>](#4-remove-control-flag<61><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD>ǣ<EFBFBD>)
* [5. Replace Nested Conditional with Guard Clauses <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#5-replace-nested-conditional-with-guard-clauses-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>)
* [6. Replace Conditional with Polymorphism <20><><EFBFBD>Զ<EFBFBD>̬ȡ<CCAC><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#6-replace-conditional-with-polymorphism-<2D><EFBFBD><EFBFBD>Զ<EFBFBD>̬ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>)
* [7. Introduce Null Object<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Null<6C><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-introduce-null-object<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>null<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Introduce Assertion<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>](#8-introduce-assertion<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>)
* [1. Decompose Conditional<61><6C><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#1-decompose-conditional<61>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ)
* [2. Consolidate Conditional Expression<6F><6E><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#2-consolidate-conditional-expression<6F>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ)
* [3. Consolidate Duplicate Conditional Fragments <20><><EFBFBD>ϲ<EFBFBD><CFB2>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>Σ<EFBFBD>](#3-consolidate-duplicate-conditional-fragments-<2D>ϲ<EFBFBD><CFB2>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC>)
* [4. Remove Control Flag<61><67><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1>ǣ<EFBFBD>](#4-remove-control-flag<61>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>)
* [5. Replace Nested Conditional with Guard Clauses <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#5-replace-nested-conditional-with-guard-clauses-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ)
* [6. Replace Conditional with Polymorphism <20><><EFBFBD>Զ<EFBFBD>̬ȡ<CCAC><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>](#6-replace-conditional-with-polymorphism-<2D>Զ<EFBFBD>̬ȡ<CCAC><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ)
* [7. Introduce Null Object<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Null<6C><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-introduce-null-object<63><74><EFBFBD><EFBFBD>null<6C><6C><EFBFBD><EFBFBD>)
* [8. Introduce Assertion<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>](#8-introduce-assertion<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [<EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD> <20>򻯺<EFBFBD><F2BBAFBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#<23><>ʮ<EFBFBD><CAAE>-<2D>򻯺<EFBFBD><F2BBAFBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [1. Rename Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#1-rename-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [2. Add Parameter<65><72><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD>](#2-add-parameter<65><72><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [3. Remove Parameter<65><72><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-remove-parameter<65><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Separate Query from Modifier<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-separate-query-from-modifier<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [5. Parameterize Method<6F><64><EFBFBD><EFBFBD><EEBAAF>Я<EFBFBD><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#5-parameterize-method<6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Я<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [6. Replace Parameter with Explicit Methods<64><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#6-replace-parameter-with-explicit-methods<64><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [7. Preserve Whole Object<63><74><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-preserve-whole-object<63><74><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Replace Parameter with Methods<64><73><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#8-replace-parameter-with-methods<64><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [9. Introduce Parameter Object<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#9-introduce-parameter-object<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [10. Remove Setting Method<6F><64><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#10-remove-setting-method<6F><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [11. Hide Method<6F><64><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>](#11-hide-method<6F><64><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [12. Replace Constructor with Factory Method <20><><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD>](#12-replace-constructor-with-factory-method-<2D><EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [13. Encapsulate Downcast<73><74><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ת<EFBFBD>ͣ<EFBFBD>](#13-encapsulate-downcast<73><74><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>ͣ<EFBFBD>)
* [14. Replace Error Code with Exception <20><><EFBFBD><EFBFBD><EFBFBD>쳣ȡ<ECB3A3><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#14-replace-error-code-with-exception-<2D><><EFBFBD><EFBFBD><EFBFBD>쳣ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [15. Replace Exception with Test<73><74><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><ECB3A3>](#15-replace-exception-with-test<73><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [1. Rename Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#1-rename-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [2. Add Parameter<65><72><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD>](#2-add-parameter<65><72><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>)
* [3. Remove Parameter<65><72><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#3-remove-parameter<65>Ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Separate Query from Modifier<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-separate-query-from-modifier<65><72><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [5. Parameterize Method<6F><64><EFBFBD><EFBFBD><EEBAAF>Я<EFBFBD><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#5-parameterize-method<6F><EFBFBD><EEBAAF>Я<EFBFBD><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [6. Replace Parameter with Explicit Methods<64><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#6-replace-parameter-with-explicit-methods<64><73><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [7. Preserve Whole Object<63><74><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-preserve-whole-object<63><74><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Replace Parameter with Methods<64><73><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#8-replace-parameter-with-methods<64>Ժ<EFBFBD><D4BA><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [9. Introduce Parameter Object<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#9-introduce-parameter-object<63><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [10. Remove Setting Method<6F><64><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#10-remove-setting-method<6F>Ƴ<EFBFBD><C6B3><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>)
* [11. Hide Method<6F><64><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>](#11-hide-method<6F><64><EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD>)
* [12. Replace Constructor with Factory Method <20><><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD>](#12-replace-constructor-with-factory-method-<2D>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF>)
* [13. Encapsulate Downcast<73><74><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ת<EFBFBD>ͣ<EFBFBD>](#13-encapsulate-downcast<73><74>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>)
* [14. Replace Error Code with Exception <20><><EFBFBD><EFBFBD><EFBFBD>쳣ȡ<ECB3A3><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#14-replace-error-code-with-exception-<2D><><EFBFBD>쳣ȡ<ECB3A3><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [15. Replace Exception with Test<73><74><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><ECB3A3>](#15-replace-exception-with-test<73>Բ<EFBFBD><D4B2><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>)
* [<EFBFBD><EFBFBD>ʮһ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ](#<23><>ʮһ<CAAE><D2BB>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ)
* [1. Pull Up Field<6C><64><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ƣ<EFBFBD>](#1-pull-up-field<6C><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>)
* [2. Pull Up Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>](#2-pull-up-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>)
* [3. Pull Up Constructor Body<64><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>](#3-pull-up-constructor-body<64><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>)
* [4. Push Down Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>](#4-push-down-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>)
* [5. Push Down Field<6C><64><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ƣ<EFBFBD>](#5-push-down-field<6C><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>)
* [6. Extract Subclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#6-extract-subclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [7. Extract Superclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-extract-superclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Extract Interface<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<D3BF>](#8-extract-interface<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>)
* [9. Collapse Hierarchy<68><79><EFBFBD>۵<EFBFBD><DBB5>̳<EFBFBD><CCB3><EFBFBD>ϵ<EFBFBD><CFB5>](#9-collapse-hierarchy<68><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD>̳<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>)
* [10. Form Template Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5BAAF><EFBFBD><EFBFBD>](#10-form-template-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [11. Replace Inheritance with Delegation <20><><EFBFBD><EFBFBD>ί<EFBFBD><CEAF>ȡ<EFBFBD><C8A1><EFBFBD>̳У<CCB3>](#11-replace-inheritance-with-delegation-<2D><><EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>̳У<EFBFBD>)
* [12. Replace Delegation with Inheritance <20><><EFBFBD>Լ̳<D4BC>ȡ<EFBFBD><C8A1>ί<EFBFBD>У<EFBFBD>](#12-replace-delegation-with-inheritance-<2D><EFBFBD><EFBFBD>Լ̳<EFBFBD>ȡ<EFBFBD><EFBFBD>ί<EFBFBD>У<EFBFBD>)
* [1. Pull Up Field<6C><64><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ƣ<EFBFBD>](#1-pull-up-field<6C>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>)
* [2. Pull Up Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>](#2-pull-up-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [3. Pull Up Constructor Body<64><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>](#3-pull-up-constructor-body<64><79><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [4. Push Down Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>](#4-push-down-method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [5. Push Down Field<6C><64><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ƣ<EFBFBD>](#5-push-down-field<6C>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>)
* [6. Extract Subclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#6-extract-subclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [7. Extract Superclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#7-extract-superclass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
* [8. Extract Interface<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<D3BF>](#8-extract-interface<63><65><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>)
* [9. Collapse Hierarchy<68><79><EFBFBD>۵<EFBFBD><DBB5>̳<EFBFBD><CCB3><EFBFBD>ϵ<EFBFBD><CFB5>](#9-collapse-hierarchy<68>۵<EFBFBD><DBB5>̳<EFBFBD><CCB3><EFBFBD>ϵ)
* [10. Form Template Method<6F><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5BAAF><EFBFBD><EFBFBD>](#10-form-template-method<6F><64><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5BAAF>)
* [11. Replace Inheritance with Delegation <20><><EFBFBD><EFBFBD>ί<EFBFBD><CEAF>ȡ<EFBFBD><C8A1><EFBFBD>̳У<CCB3>](#11-replace-inheritance-with-delegation-<2D><>ί<EFBFBD><CEAF>ȡ<EFBFBD><C8A1><EFBFBD>̳<EFBFBD>)
* [12. Replace Delegation with Inheritance <20><><EFBFBD>Լ̳<D4BC>ȡ<EFBFBD><C8A1>ί<EFBFBD>У<EFBFBD>](#12-replace-delegation-with-inheritance-<2D>Լ̳<D4BC>ȡ<EFBFBD><C8A1>ί<EFBFBD><CEAF>)
<!-- GFM-TOC -->
# <20><>һ<EFBFBD><D2BB> <20>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# <20><>һ<EFBFBD><D2BB> <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD>ҪΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ģ<EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>