├── .gitignore ├── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images ├── fig1.png ├── fig10-1.png ├── fig10-2.png ├── fig10.png ├── fig11.png ├── fig12-1.png ├── fig12-2.png ├── fig12-3.png ├── fig12-4.png ├── fig12-5.png ├── fig12-6.png ├── fig13.png ├── fig14.png ├── fig15-1.png ├── fig15-2.png ├── fig16.png ├── fig17.png ├── fig18.png ├── fig19-1.png ├── fig19-2.png ├── fig2.png ├── fig20.png ├── fig21-1.png ├── fig21-2.png ├── fig22.png ├── fig23.png ├── fig24.png ├── fig25.png ├── fig26-1.png ├── fig26-2.png ├── fig27.png ├── fig28.png ├── fig29.png ├── fig3.png ├── fig4.png ├── fig5-1.png ├── fig5.png ├── fig6.png ├── fig7.png ├── fig8.png └── fig9.png ├── settings.gradle └── src ├── main ├── java │ └── com │ │ └── example │ │ ├── RefactoringToolsApplication.java │ │ ├── movie │ │ ├── Customer.java │ │ ├── Movie.java │ │ └── Rental.java │ │ └── refactorings │ │ ├── Cage.java │ │ ├── ConditionalLogicExistingClass.java │ │ ├── ConvertToInstanceMethod.java │ │ ├── CopyClassSample.java │ │ ├── ExtractDelegateSample.java │ │ ├── ExtractMethodSample.java │ │ ├── MakeStaticSample.java │ │ ├── MoveToTarget.java │ │ ├── PullMembersUpSample.java │ │ ├── RemoveMiddlemanSample.java │ │ ├── ReplaceConstructorWithBuilderSample.java │ │ ├── ReplaceInheritanceWithDelegationSample.java │ │ ├── humbleobject │ │ ├── ChangeEmailService.java │ │ ├── Company.java │ │ ├── CompanyRepository.java │ │ ├── MessageBus.java │ │ ├── User.java │ │ ├── UserRepository.java │ │ └── UserType.java │ │ └── splitphase │ │ └── AuditManager.java └── resources │ └── application.properties └── test └── java └── com └── example ├── RefactoringToolsApplicationTests.java └── refactorings ├── ComposingMethodsTest.java ├── MovingFeaturesTest.java ├── OrganizingDataTest.java ├── RefactoringTest.java ├── ch09 └── Ch09Test.java ├── ch10 ├── Ch10Test.java └── DateRange.java ├── ch11 ├── Billable.java ├── Ch11Test.java └── Party.java └── splitphase ├── AuditManagerTest.java ├── CountOrder.java └── Order.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/README.md -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/gradlew.bat -------------------------------------------------------------------------------- /images/fig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig1.png -------------------------------------------------------------------------------- /images/fig10-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig10-1.png -------------------------------------------------------------------------------- /images/fig10-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig10-2.png -------------------------------------------------------------------------------- /images/fig10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig10.png -------------------------------------------------------------------------------- /images/fig11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig11.png -------------------------------------------------------------------------------- /images/fig12-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig12-1.png -------------------------------------------------------------------------------- /images/fig12-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig12-2.png -------------------------------------------------------------------------------- /images/fig12-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig12-3.png -------------------------------------------------------------------------------- /images/fig12-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig12-4.png -------------------------------------------------------------------------------- /images/fig12-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig12-5.png -------------------------------------------------------------------------------- /images/fig12-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig12-6.png -------------------------------------------------------------------------------- /images/fig13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig13.png -------------------------------------------------------------------------------- /images/fig14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig14.png -------------------------------------------------------------------------------- /images/fig15-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig15-1.png -------------------------------------------------------------------------------- /images/fig15-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig15-2.png -------------------------------------------------------------------------------- /images/fig16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig16.png -------------------------------------------------------------------------------- /images/fig17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig17.png -------------------------------------------------------------------------------- /images/fig18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig18.png -------------------------------------------------------------------------------- /images/fig19-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig19-1.png -------------------------------------------------------------------------------- /images/fig19-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig19-2.png -------------------------------------------------------------------------------- /images/fig2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig2.png -------------------------------------------------------------------------------- /images/fig20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig20.png -------------------------------------------------------------------------------- /images/fig21-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig21-1.png -------------------------------------------------------------------------------- /images/fig21-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig21-2.png -------------------------------------------------------------------------------- /images/fig22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig22.png -------------------------------------------------------------------------------- /images/fig23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig23.png -------------------------------------------------------------------------------- /images/fig24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig24.png -------------------------------------------------------------------------------- /images/fig25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig25.png -------------------------------------------------------------------------------- /images/fig26-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig26-1.png -------------------------------------------------------------------------------- /images/fig26-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig26-2.png -------------------------------------------------------------------------------- /images/fig27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig27.png -------------------------------------------------------------------------------- /images/fig28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig28.png -------------------------------------------------------------------------------- /images/fig29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig29.png -------------------------------------------------------------------------------- /images/fig3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig3.png -------------------------------------------------------------------------------- /images/fig4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig4.png -------------------------------------------------------------------------------- /images/fig5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig5-1.png -------------------------------------------------------------------------------- /images/fig5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig5.png -------------------------------------------------------------------------------- /images/fig6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig6.png -------------------------------------------------------------------------------- /images/fig7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig7.png -------------------------------------------------------------------------------- /images/fig8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig8.png -------------------------------------------------------------------------------- /images/fig9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/images/fig9.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'refactoring-tools' 2 | -------------------------------------------------------------------------------- /src/main/java/com/example/RefactoringToolsApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/RefactoringToolsApplication.java -------------------------------------------------------------------------------- /src/main/java/com/example/movie/Customer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/movie/Customer.java -------------------------------------------------------------------------------- /src/main/java/com/example/movie/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/movie/Movie.java -------------------------------------------------------------------------------- /src/main/java/com/example/movie/Rental.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/movie/Rental.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/Cage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/Cage.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/ConditionalLogicExistingClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/ConditionalLogicExistingClass.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/ConvertToInstanceMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/ConvertToInstanceMethod.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/CopyClassSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/CopyClassSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/ExtractDelegateSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/ExtractDelegateSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/ExtractMethodSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/ExtractMethodSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/MakeStaticSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/MakeStaticSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/MoveToTarget.java: -------------------------------------------------------------------------------- 1 | package com.example.refactorings; 2 | 3 | public class MoveToTarget { 4 | } 5 | -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/PullMembersUpSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/PullMembersUpSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/RemoveMiddlemanSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/RemoveMiddlemanSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/ReplaceConstructorWithBuilderSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/ReplaceConstructorWithBuilderSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/ReplaceInheritanceWithDelegationSample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/ReplaceInheritanceWithDelegationSample.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/humbleobject/ChangeEmailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/humbleobject/ChangeEmailService.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/humbleobject/Company.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/humbleobject/Company.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/humbleobject/CompanyRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/humbleobject/CompanyRepository.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/humbleobject/MessageBus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/humbleobject/MessageBus.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/humbleobject/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/humbleobject/User.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/humbleobject/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/humbleobject/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/humbleobject/UserType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/humbleobject/UserType.java -------------------------------------------------------------------------------- /src/main/java/com/example/refactorings/splitphase/AuditManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/main/java/com/example/refactorings/splitphase/AuditManager.java -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/test/java/com/example/RefactoringToolsApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/RefactoringToolsApplicationTests.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/ComposingMethodsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/ComposingMethodsTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/MovingFeaturesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/MovingFeaturesTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/OrganizingDataTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/OrganizingDataTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/RefactoringTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/RefactoringTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/ch09/Ch09Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/ch09/Ch09Test.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/ch10/Ch10Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/ch10/Ch10Test.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/ch10/DateRange.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/ch10/DateRange.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/ch11/Billable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/ch11/Billable.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/ch11/Ch11Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/ch11/Ch11Test.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/ch11/Party.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/ch11/Party.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/splitphase/AuditManagerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/splitphase/AuditManagerTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/splitphase/CountOrder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/splitphase/CountOrder.java -------------------------------------------------------------------------------- /src/test/java/com/example/refactorings/splitphase/Order.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msbaek/refactoring-tools/HEAD/src/test/java/com/example/refactorings/splitphase/Order.java --------------------------------------------------------------------------------