Cargando…

CODE LIKE A PRO IN C#.

Detalles Bibliográficos
Autor principal: RODENBURG, JORT
Formato: Electrónico eBook
Idioma:Inglés
Publicado: [S.l.] : O'REILLY MEDIA, 2021.
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000nam a2200000M 4500
001 OR_on1269347368
003 OCoLC
005 20231017213018.0
006 m o d
007 cr |n|||||||||
008 210827s2021 xx o 0|| 0 eng d
040 |a INT  |b eng  |c INT 
020 |a 9781638356417  |q (electronic bk.) 
020 |a 1638356416  |q (electronic bk.) 
020 |z 1617298026 
020 |z 9781617298028 
029 1 |a AU@  |b 000071519555 
035 |a (OCoLC)1269347368 
049 |a UAMI 
100 1 |a RODENBURG, JORT. 
245 1 0 |a CODE LIKE A PRO IN C#. 
260 |a [S.l.] :  |b O'REILLY MEDIA,  |c 2021. 
300 |a 1 online resource 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
505 0 0 |a Machine generated contents note:  |g 1.  |t Introducing C# and .NET --  |g 1.1.  |t Why work in C#? --  |t Reason 1: C# is economical --  |t Reason 2: C# is maintainable --  |t Reason 3: C# is developer friendly and easy to use --  |g 1.2.  |t Why not work in C#? --  |t Operating system development --  |t Real-time operating system embedded development in C# --  |t Numerical computing and C# --  |g 1.3.  |t Switching to C# --  |g 1.4.  |t What you will learn in this book --  |g 1.5.  |t What you will not learn in this book --  |g 2.  |t NET and how it compiles --  |g 2.1.  |t What is the .NET Framework? --  |g 2.2.  |t What is .NET 5? --  |g 2.3.  |t How CLI-compliant languages are compiled --  |t Step 1: C# code (high-level) --  |t Step 2: Common Intermediate Language (assembly level) --  |t Step 3: Native code (processor level) --  |g 3.  |t How bad is this code? --  |g 3.1.  |t Introducing Flying Dutchman Airlines --  |g 3.2.  |t Pieces of the puzzle: Taking a look at our requirements --  |t Object-relational mapping --  |t GET /flight endpoint: Retrieving information on all flights --  |t GET /flight/ tflightNumbed endpoint: Getting specific flight information --  |t POST /booking/ (flightNumber) endpoint: Booking a flight --  |g 3.3.  |t Coming to terms with the existing codebase --  |t Assessing the existing database schema and its tables --  |t existing codebase: Web service configuration files --  |t Considering models and views in the existing codebase --  |g 4.  |t Manage your unmanaged resources! --  |g 4.1.  |t FlightController: Assessing the GET /flight endpoint --  |t GET /flight endpoint and what it does --  |t Method signature: The meaning of ResponseType and typeof --  |t Collecting flight information with collections --  |t Connection strings, or how to give a security engineer a heart attack --  |t Using IDisposable to release unmanaged resources --  |t Querying a database with SqlCommand --  |g 4.2.  |t FlightController: Assessing GET /flight/ {flightNumber} --  |g 4.3.  |t FlightController: POST /flight --  |g 4.4.  |t FlightController: DELETE /flight/ {flightNumber} --  |g 5.  |t Setting up a project and database with Entity Framework Core --  |g 5.1.  |t Creating a .NET 5 solution and project --  |g 5.2.  |t Setting up and configuring a web service --  |t Configuring a .NET 5 web service --  |t Creating and using HostBuilder --  |t Implementing the Startup class --  |t Using the repository/service pattern for our web service architecture --  |g 5.3.  |t Implementing the database access layer --  |t Entity Framework Core and reverse-engineering --  |t DbSet and the Entity Framework Core workflow --  |t Configuration methods and environment variables --  |t Setting an environment variable on Windows --  |t Setting an environment variable on macOS --  |t Retrieving environment variables at run time in your code --  |g 6.  |t Test-driven development and dependency injection --  |g 6.1.  |t Test-driven development --  |g 6.2.  |t CreateCustomer method --  |t Why you should always validate input arguments --  |t Using "arrange, act, assert" to write unit tests --  |t Validating against invalid characters --  |t In-lining test data with the [DataRow] attribute --  |t Object initializers and autogenerated code --  |t Constructors, reflection, and asynchronous programming --  |t Locks, mutexes, and semaphores --  |t Synchronous to asynchronous execution...continued --  |t Testing Entity Framework Core --  |t Controlling dependencies with dependency injection --  |g 7.  |t Comparing objects --  |g 7.1.  |t GetCustomerByName method --  |t Question marks: Nullable types and their applications --  |t Custom exceptions, LINQ and extension methods --  |g 7.2.  |t Congruence: From the Middle Ages to C# --  |t Creating a "comparer" class using EqualityComparer --  |t Testing equality by overriding the Equals method --  |t Overloading the equality operator --  |g 8.  |t Stubbing, generics, and coupling --  |g 8.1.  |t Implementing the Booking repository --  |g 8.2.  |t Input validation, separation of concerns, and coupling --  |g 8.3.  |t Using object initializers --  |g 8.4.  |t Unit testing with stubs --  |g 8.5.  |t Programming with generics --  |g 8.6.  |t Providing default arguments by using optional parameters --  |g 8.7.  |t Conditionals, Func, switches, and switch expressions --  |t ternary conditional operator --  |t Branching using an array of functions --  |t Switch statements and expressions --  |t Querying for pending changes in Entity Framework Core --  |g 9.  |t Extension methods, streams, and abstract classes --  |g 9.1.  |t Implementing the Airport repository --  |g 9.2.  |t Getting an Airport out of the database by its ID --  |g 9.3.  |t Validating the AirportlD input parameter --  |g 9.4.  |t Output streams and being specifically abstract --  |g 9.5.  |t Querying the database for an Airport object --  |g 9.6.  |t Implementing the Flight repository --  |t IsPositive extension method and "magic numbers" --  |t Getting a flight out of the database --  |g 10.  |t Reflection and mocks --  |g 10.1.  |t repository/service pattern revisited --  |t What is the use of a service class? --  |g 10.2.  |t Implementing the CustomerService --  |t Setting up for success: Creating skeleton classes --  |t How to delete your own code --  |g 10.3.  |t Implementing the BookingService --  |t Unit testing across architectural layers --  |t difference between a stub and a mock --  |t Mocking a class with the Moq library --  |t Calling a repository from a service --  |g 11.  |t Runtime type checking revisited and error handling --  |g 11.1.  |t Validating input parameters of a service layer method --  |t Runtime type checks with the is and as operators --  |t Type checking with the is operator --  |t Type checking with the as operator --  |t What did we do in section 11.1? --  |g 11.2.  |t Cleaning up the BookingServiceTests class --  |g 11.3.  |t Foreign key constraints in service classes --  |t Calling the Flight repository from a service class --  |g 12.  |t Using IAsyncEnumerable T and yield return --  |g 12.1.  |t Do we need an AirportService class? --  |g 12.2.  |t Implementing the FlightService class --  |t Getting information on a specific flight from the FlightRepository --  |t Combining two data streams into a view --  |t Using the yield return keywords with try-catch code blocks --  |t Implementing GetFlightByFlightNumber --  |g 13.  |t Middlezvare, HTTP routing, and HTTP responses --  |g 13.1.  |t controller class within the repository/service pattern --  |g 13.2.  |t Determining what controllers to implement --  |g 13.3.  |t Implementing the FlightController --  |t Returning HTTP responses with the lActionResult interface (GetFlights) --  |t Injecting dependencies into a controller using middleware --  |t Implementing the GET /Flight/ FlightNumber) endpoint --  |g 13.4.  |t Routing HTTP requests to controllers and methods --  |g 14.  |t JSON serialization/deserialization and custom model binding --  |g 14.1.  |t Implementing the BookingController class --  |t Introduction to data deserialization --  |t Using the [FromBody] attribute to deserialize incoming HTTP data --  |t Using a custom model binder and method attribute for model binding --  |t Implementing the CreateBooking endpoint method logic --  |g 14.2.  |t Acceptance testing and Swagger middleware --  |t Manual acceptance testing with an OpenAPI specification --  |t Generating an OpenAPI specification at runtime --  |g 14.3.  |t end of the road. 
588 |a Description based on print version record. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
776 0 8 |c Original  |z 1617298026  |z 9781617298028 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781617298028/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
994 |a 92  |b IZTAP