Code like a Pro in C#, video edition

Video description

In Video Editions the narrator reads the book while the content, figures, code listings, diagrams, and text appear on the screen. Like an audiobook that you can also watch as a video.

Worth reading multiple times.
Prabhuti Prakash, Synechron Technologies

Build on your existing programming skills and upskill to professional-level C# programming.

In Code Like A Pro in C# you will learn:
  • Unit testing and test-driven development
  • Refactor a legacy .NET codebase
  • Principles of clean code
  • Essential backend architecture skills
  • Query and manipulate databases with LINQ and Entity Framework Core

Critical business applications worldwide are written in the versatile C# language and the powerful .NET platform, running on desktops, cloud systems, and Windows or Linux servers. Code Like a Pro in C# makes it easy to turn your existing abilities in C# or another OO language (such as Java) into practical C# mastery. There’s no “Hello World” or Computer Science 101 basics—you’ll learn by refactoring an out-of-date legacy codebase, using new techniques, tools, and best practices to bring it up to modern C# standards.

about the technology

You know the basics, now get ready for the next step! Pro-quality C# code is efficient, clean, and fast. Whether you’re building user-facing business applications or writing data-intensive backend services, the experience-based, practical techniques in this book will take your C# skills to a new level.

about the book

Code Like a Pro in C# teaches you to how write clean C# code that’s suitable for enterprise applications. In this book, you’ll refactor a legacy codebase by applying modern C# techniques. You’ll explore tools like Entity Framework Core, design techniques like dependency injection, and key practices like testing and clean coding. It’s a perfect path to upgrade your existing C# skills or shift from another OO language into C# and the .NET ecosystem.

about the audience

For developers experienced with object-oriented programming. No C# experience required.

about the author

Jort Rodenburg is a software engineer who has taught numerous courses on getting up to speed with C# and .NET.

Packed with guidance and insights to get you there quickly. Highly recommended!
Edin Kapic, isolutions

This book really helped me to move to the next level.
Daniel Vásquez Estupiñan, Tokiota

This is the book you are looking for when you want to know how to code in the most idiomatic way possible with C#.
Gustavo Filipe Ramos Gomes, Troido

Teaches excellent techniques and best practices for modern C# development.
Foster Haines, J2 Interactive


Table of contents

  1. Part 1. Using C# and .NET
  2. Chapter 1. Introducing C# and .NET
  3. Chapter 1. Reason 2: C# is maintainable
  4. Chapter 1. Why not work in C#?
  5. Chapter 1. Switching to C#
  6. Chapter 1. What you will learn in this book
  7. Chapter 2. .NET and how it compiles
  8. Chapter 2. How CLI-compliant languages are compiled
  9. Chapter 2. Step 2: Common Intermediate Language (assembly level), Part 1
  10. Chapter 2. Step 2: Common Intermediate Language (assembly level), Part 2
  11. Chapter 2. Step 3: Native code (processor level)
  12. Part 2. The existing codebase
  13. Chapter 3. How bad is this code?
  14. Chapter 3. Coming to terms with the existing codebase
  15. Chapter 3. The existing codebase: Web service configuration files
  16. Chapter 3. Considering models and views in the existing codebase, Part 1
  17. Chapter 3. Considering models and views in the existing codebase, Part 2
  18. Chapter 4. Manage your unmanaged resources!
  19. Chapter 4. Collecting flight information with collections
  20. Chapter 4. Querying a database with SqlCommand
  21. Chapter 4. The FlightController: Assessing GET /flight/{flightNumber}
  22. Chapter 4. The FlightController: DELETE /flight/{flightNumber}
  23. Part 3. The database access layer
  24. Chapter 5. Setting up a project and database with Entity Framework Core
  25. Chapter 5. Setting up and configuring a web service
  26. Chapter 5. Implementing the Startup class
  27. Chapter 5. Implementing the database access layer
  28. Chapter 5. Configuration methods and environment variables
  29. Part 4. The repository layer
  30. Chapter 6. Test-driven development and dependency injection
  31. Chapter 6. The CreateCustomer method
  32. Chapter 6. Validating against invalid characters
  33. Chapter 6. Object initializers and autogenerated code
  34. Chapter 6. Locks, mutexes, and semaphores
  35. Chapter 6. Controlling dependencies with dependency injection, Part 1
  36. Chapter 6. Controlling dependencies with dependency injection, Part 2
  37. Chapter 7. Comparing objects
  38. Chapter 7. Custom exceptions, LINQ, and extension methods
  39. Chapter 7. Congruence: From the Middle Ages to C#
  40. Chapter 7. Creating a “comparer” class using EqualityComparer
    1. Chapter 7. Testing equality by overriding the Equals method
    2. Chapter 7. Overloading the equality operator
    3. Chapter 8. Stubbing, generics, and coupling
    4. Chapter 8. Input validation, separation of concerns, and coupling
    5. Chapter 8. Using object initializers
    6. Chapter 8. Programming with generics
    7. Chapter 8. Conditionals, Func, switches, and switch expressions
    8. Chapter 8. Querying for pending changes in Entity Framework Core
    9. Chapter 9. Extension methods, streams, and abstract classes
    10. Chapter 9. Validating the AirportID input parameter
    11. Chapter 9. Querying the database for an Airport object, Part 1
    12. Chapter 9. Querying the database for an Airport object, Part 2
    13. Chapter 9. Implementing the Flight repository
    14. Chapter 9. The IsPositive extension method and “magic numbers”
    15. Chapter 9. Getting a flight out of the database
    16. Part 5. The service layer
    17. Chapter 10. Reflection and mocks
    18. Chapter 10. Implementing the CustomerService
    19. Chapter 10. Implementing the BookingService
    20. Chapter 10. Unit testing across architectural layers
    21. Chapter 10. Mocking a class with the Moq library, Part 1
    22. Chapter 10. Mocking a class with the Moq library, Part 2
    23. Chapter 10. Calling a repository from a service
    24. Chapter 11. Runtime type checking revisited and error handling
    25. Chapter 11. Cleaning up the BookingServiceTests class
    26. Chapter 11. Calling the Flight repository from a service class, Part 1
    27. Chapter 11. Calling the Flight repository from a service class, Part 2
    28. Chapter 12. Using IAsyncEnumerable and yield return
      1. Chapter 12.Combining two data streams into a view
      2. Chapter 12. Using the yield return keywords with try-catch code blocks
      3. Chapter 12. Implementing GetFlightByFlightNumber
      4. Part 6. The controller layer
      5. Chapter 13. Middleware, HTTP routing, and HTTP responses
      6. Chapter 13. Returning HTTP responses with the IActionResult interface (GetFlights)
      7. Chapter 13. Injecting dependencies into a controller using middleware
      8. Chapter 13. Implementing the GET /Flight/{FlightNumber} endpoint
      9. Chapter 13. Routing HTTP requests to controllers and methods
      10. Chapter 14. JSON serialization/ deserialization and custom model binding
      11. Chapter 14. Using the [FromBody] attribute to deserialize incoming HTTP data
      12. Chapter 14. Implementing the CreateBooking endpoint method logic
      13. Chapter 14. Acceptance testing and Swagger middleware
      14. Chapter 14. Generating an OpenAPI specification at runtime
      15. Appendix B. Clean code checklist

Product information

  • Title: Code like a Pro in C#, video edition
  • Author(s): Jort Rodenburg
  • Release date: July 2021
  • Publisher(s): Manning Publications
  • ISBN: 9781617298028VE