The easiest way to learn design patterns With C# code samples using .NET 6 templates
Book information
Description
Table of Contents Introduction What design patterns are Why would you want to learn design patterns Why design patterns are hard to learn The goal of this book The structure of this book About the author and his mission Getting in touch Helping to spread the word Part 1: SOLID principles and why they are important 1. Single responsibility principle What is single responsibility principle The importance of single responsibility principle The concept of class cohesion Conclusion 2. Open-closed principle What is open-closed principle Implementing the open-closed principle in C# Conclusion 3. Liskov substitution principle Implementing Liskov substitution principle in C# Conclusion 4. Interface segregation principle What is interface segregation principle Importance of interface segregation When NotImplementedException is appropriate 5. Dependency inversion principle What is dependency inversion principle Why dependency inversion principle is important Dependency inversion is not only useful in unit tests Part 2: The problems that design patterns are intended to solve 6. Not knowing what object implementations you'll need ahead of time Suitable design patterns 7. Making several exact copies of a complex object Suitable design patterns 8. Using many instances of an object while keeping code running smoothly Suitable design patterns 9. Using the same single instance of an object throughout the application Suitable design patterns 10. Third party components aren’t directly compatible with your code Suitable design patterns 11. Adding new functionality to existing objects that cannot be modified Suitable design patterns 12. Accessing complex back-end logic from the presentation layer Suitable design patterns 13. User interface and business logic are developed separately Suitable design patterns 14. Building a complex object hierarchy Suitable design patterns 15. Implementing complex conditional logic Suitable design patterns 16. Multiple object instances of different types need to be able to communicate with each other Suitable design patterns 17. Multiple stages of processing are needed Suitable design patterns 18. The system is controlled by complex combinations of inputs Suitable design patterns 19. Ability to undo an action that has been applied Suitable design patterns 20. Ability to traverse a collection without knowing its underlying structure Suitable design patterns 21. Creating a family of related algorithms Suitable design patterns 22. Summary of the problems design patterns are intended to solve Part 3: Design patterns demonstrated in C# 23. Design pattern categories Creational design patterns 24. Factory Method Prerequisites Factory Method implementation example Benefits of using Factory Method Caveats of using Factory Method 25. Abstract Factory Prerequisites Abstract Factory implementation example Benefits of using Abstract Factory Caveats of using Abstract Factory 26. Builder Prerequisites Builder implementation example Benefits of using Builder Caveats of using Builder 27. Prototype Prerequisites Prototype implementation example Benefits of using Prototype Caveats of using Prototype 28. Singleton Prerequisites Singleton implementation example Benefits of using Singleton Caveats of using Singleton Structural design patterns 29. Adapter Prerequisites Adapter implementation example Benefits of using Adapter Caveats of using Adapter 30. Bridge Prerequisites Bridge implementation example Benefits of using Bridge Caveats of using Bridge 31. Composite Prerequisites Composite implementation example Benefits of using Composite Caveats of using Composite 32. Decorator Prerequisites Decorator implementation example Benefits of using Decorator Caveats of using Composite 33. Facade Prerequisites Facade implementation example Benefits of using Facade Caveats of using Facade 34. Flyweight Prerequisites Flyweight implementation example Benefits of using Flyweight Caveats of using Flyweight 35. Proxy Prerequisites Proxy implementation example Benefits of using Proxy Caveats of using Proxy Behavioral design patterns 37. Command Prerequisites Command implementation example Benefits of using Command Caveats of using Command 36. Chain of Responsibility Prerequisites Chain of Responsibility implementation example Benefits of using Chain of Responsibility Caveats of using Chain of Responsibility 38. Iterator Prerequisites Iterator implementation example Benefits of using Iterator Caveats of using Iterator 39. Mediator Prerequisites Mediator implementation example Benefits of using Mediator Caveats of using Mediator 40. Memento Prerequisites Memento implementation example Benefits of using Memento Caveats of using Memento 41. Observer Prerequisites Observer implementation example Benefits of using Observer Caveats of using Observer 42. State Prerequisites State implementation example Benefits of using State Caveats of using State 43. Strategy Prerequisites Strategy implementation example Benefits of using Strategy Caveats of using Strategy 44. Template Method Prerequisites Template Method implementation example Benefits of using Template Method Caveats of using Template Method 45. Visitor Prerequisites Visitor implementation example Benefits of using Visitor Caveats of using Visitor Epilogue
Similar books
Machine Learning for C# Developers
2025 · EPUB
SignalR on .NET 6 - the Complete Guide: The easiest way to enable real-time two-way HTTP communication on .NET 6
EPUB
Implementing C# 11 and .NET 7.0: Learn how to build cross-platform apps with .NET Core
2023 · EPUB
The easiest way to learn design patterns: With C# code samples using .NET 6 templates
2022 · EPUB
The easiest way to learn design patterns: With C# code samples using .NET 6 templates
2022 · PDF
SignalR on .NET 6 - the Complete Guide: The easiest way to enable real-time two-way HTTP communication on .NET 6
2022 · EPUB
SignalR on .NET 6 - the Complete Guide: The easiest way to enable real-time two-way HTTP communication on .NET 6
2022 · PDF
Microservices Communication in .NET Using gRPC: A practical guide for .NET developers to build efficient communication mechanism for distributed apps
2022 · PDF