Refactoring to Patterns
الگوها سنگ بنای طراحی شی گرا هستند، حال آنکه برنامه نویسی test-first و refactoringهای بی رحمانه، اساس طراحی تکامل یافته را تشکیل میدهند. برای مانع شدن از over-engineering، لازم است که یاد بگیریم که چگونه الگوها خودشان را با روشهای توسعه نرم افزار امروزی تطبیق میدهند.
در این کتاب به صورت تئوری و هم عملی، refactoring مبتنی بر الگوها آموزش داده میشود. سلسه مراتبی از refactoringهای سطح پایین به طراحان اجازه میدهد تا به راحتی طراحی را به سمت طراحی هدایت و یا از پیاده سازی آن دور کنند.
Table of contents:
1. Chain Constructors
2. Replace Multiple Constructors with Creation Methods
3. Encapsulate Classes with Creation Methods
4. Extract Creation Class
5. Move Object Composition to Creation Method
6. Replace Multiple Instances with Singleton
7. Replace Singleton with Object Reference
8. Replace Singleton with Registry
9. Introduce Polymorphic Creation with Factory Method
10. Replace Conditional Calculations with Strategy
11. Replace Implicit Tree with Composite
12. Encapsulate Composite with Builder
13. Form Superset Interface
14. Move Embellishment to Decorator
15. Move Protection to Proxy
16. Replace Hard-Coded Notifications with Observer
17. Move Accumulation to Collecting Parameter
18. Replace Conditional Searches with Specification
19. Replace One/Many Distinctions with Composite
20. Compose Method
21. Separate Versions with Adapters
22. Replace Enum with Type-Safe Enum
23. Replace Invariable Behavior with Template Method
24. Replace Singleton with Constant