1. Introduction Part I: Creational Patterns 2. Builder 3. Factories 4. Prototype 5. Singleton Part II: Structural Patterns 6. Adapter 7. Bridge 8. Composite 9. Decorator 10. Facade 11. Flyweight 12. Proxy Part III: Behavioral Patterns 13. Chain of Responsibility 14. Command 15. Interpreter 16. Iterator 17. Mediator 18. Null Object 19. Observer 20. State 21. Strategy 22. Template Method 23. Visitor 24. Maybe Monad Part IV: Appendix 25. Appendix A: Functional Design Patterns
Dmitri Nesteruk is a quantitative analyst, developer, course and book author, and an occasional conference speaker. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.