Real-World Implementation of C# Design Patterns Overcome Daily Programming Challenges Using Elements of Reusable Object-Oriented Software
Build robust applications in C# easily using effective and popular design patterns and best practicesKey Features:Recognize solutions to common problems in software design with C#Explore real-world applications of design patterns that can be used in your everyday workGet to grips with 14 patterns an...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing, Limited
2022.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009686028706719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright and Credits
- Foreword
- Contributors
- Table of Contents
- Preface
- Part 1: Introduction to Patterns (Pasta) and Antipatterns (Antipasta)
- Chapter 1: There's a Big Ball of Mud on Your Plate of Spaghetti
- Technical requirements
- No battle plan survives first contact with the enemy
- The Stovepipe system
- The Big Ball of Mud
- Time
- Cost
- Experience
- Skill
- Visibility
- Complexity
- Change
- Scale
- The Golden Hammer
- A throwaway code example
- How can patterns help?
- Summary
- Questions
- Further reading
- Chapter 2: Prepping for Practical Real-World Applications of Patterns in C#
- Becoming a prepper
- Technical requirements
- Spaghetti < lasagna < ravioli
- software evolution explained with pasta
- Spaghetti code
- Lasagna code
- Ravioli
- the ultimate in pasta code
- The foundational principle
- writing clean code
- You should write code that is readable by humans
- Establishing and enforcing style and consistency
- Limiting cognitive load
- Terse is worse
- Comment but don't go overboard
- Creating maintainable systems using SOLID principles
- The Single Responsibility principle
- The Open-Closed Principle
- The Liskov Substitution principle
- The Interface Segregation principle
- The Dependency Inversion principle
- Measuring quality beyond the development organization
- Code reviews
- Overall design
- Functionality
- Summary
- Further reading
- Part 2: Patterns You Need in the Real World
- Chapter 3: Getting Creative with Creational Patterns
- Technical requirements
- The following story is fictitious
- The initial design
- No pattern implementation
- The Simple Factory pattern
- The Factory Method pattern
- The Abstract Factory pattern
- The Builder pattern
- The Object Pool pattern
- The Singleton pattern
- Summary
- Questions
- Further reading
- Chapter 4: Fortify Your Code With Structural Patterns
- Technical requirements
- B2B (back to bicycles)
- The Decorator pattern
- The Façade pattern
- The Composite pattern
- The Bridge pattern
- Summary
- Questions
- Further reading
- Chapter 5: Wrangling Problem Code by Applying Behavioral Patterns
- Technical requirements
- Meanwhile, back at the bicycle factory
- The Command pattern
- Applying the Command pattern
- Coding the Command pattern
- Testing the Command pattern's code
- The Iterator pattern
- Applying the Iterator pattern
- Coding the Iterator pattern
- Trying out the new iterator
- The Observer pattern
- Applying the Observer pattern
- Coding the Observer pattern
- The Strategy pattern
- Applying the Strategy pattern
- Coding the Strategy pattern
- Summary
- Questions
- Part 3: Designing New Projects Using Patterns
- Chapter 6: Step Away from the IDE! Designing with Patterns Before You Code
- Technical requirements
- A bad day at the agency
- Bumble Bikes factory
- Dallas, Texas
- A physical rehabilitation clinic
- Dallas, Texas