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...

Descripción completa

Detalles Bibliográficos
Otros Autores: Van Horn, Bruce M., author (author), Symons, Van, writer of foreword (writer of foreword)
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