Software Architecture with C# 10 and .NET 6: Develop software solutions using microservices, DevOps, EF Core, and design patterns for Azure

دانلود کتاب Software Architecture with C# 10 and .NET 6: Develop software solutions using microservices, DevOps, EF Core, and design patterns for Azure

33000 تومان موجود

کتاب معماری نرم افزار با C# 10 و NET 6: توسعه راه حل های نرم افزاری با استفاده از میکروسرویس ها، DevOps، EF Core و الگوهای طراحی برای Azure نسخه زبان اصلی

دانلود کتاب معماری نرم افزار با C# 10 و NET 6: توسعه راه حل های نرم افزاری با استفاده از میکروسرویس ها، DevOps، EF Core و الگوهای طراحی برای Azure بعد از پرداخت مقدور خواهد بود
توضیحات کتاب در بخش جزئیات آمده است و می توانید موارد را مشاهده فرمایید


این کتاب نسخه اصلی می باشد و به زبان فارسی نیست.


امتیاز شما به این کتاب (حداقل 1 و حداکثر 5):

امتیاز کاربران به این کتاب:        تعداد رای دهنده ها: 8


توضیحاتی در مورد کتاب Software Architecture with C# 10 and .NET 6: Develop software solutions using microservices, DevOps, EF Core, and design patterns for Azure

نام کتاب : Software Architecture with C# 10 and .NET 6: Develop software solutions using microservices, DevOps, EF Core, and design patterns for Azure
ویرایش : 3
عنوان ترجمه شده به فارسی : معماری نرم افزار با C# 10 و NET 6: توسعه راه حل های نرم افزاری با استفاده از میکروسرویس ها، DevOps، EF Core و الگوهای طراحی برای Azure
سری :
نویسندگان : ,
ناشر :
سال نشر : 2022
تعداد صفحات : 715
ISBN (شابک) : 9781803235257
زبان کتاب : English
فرمت کتاب : pdf
حجم کتاب : 10 مگابایت



بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.


فهرست مطالب :


Cover Copyright Contributors Table of Contents Preface Chapter 1: Understanding the Importance of Software Architecture What is software architecture? Creating an Azure account Software development process models Reviewing traditional software development process models Understanding the waterfall model principles Analyzing the incremental model Understanding agile software development process models Lean software development Extreme Programming Getting into the Scrum model Scaling agile throughout a company Gathering the right information to design high-quality software Understanding the requirements gathering process Detecting exact user needs Analyzing requirements Writing the specifications Understanding the principles of scalability, robustness, security, and performance Reviewing the specification Using design techniques as a helpful tool Design Thinking Design Sprint Common cases where the requirements gathering process impacts system results Case 1 – my website is too slow to open that page! Understanding backend caching Applying asynchronous programming Dealing with object allocation Getting better database access Case 2 – the user’s needs are not properly implemented Case 3 – the usability of the system does not meet the user’s needs Case study – introducing World Wild Travel Club Understanding user needs and system requirements Summary Questions Further reading Chapter 2: Non-Functional Requirements Technical requirements Enabling scalability, availability, and resiliency with Azure and .NET 6 Creating a scalable web app in Azure Vertical scaling (scaling up) Horizontal scaling (scaling out) Creating a scalable web app with .NET 6 Performance issues that need to be considered when programming in C# String concatenation Exceptions Multithreading environments for better results – dos and don’ts Usability – why inserting data takes too much time Designing fast selection logic Selecting from a huge number of items The fantastic world of interoperability with .NET 6 Creating a service in Linux Achieving security by design List of practices for achieving a safe architecture Authentication Sensitive data Web security Book use case – understanding the main types of .NET projects Summary Questions Further reading Chapter 3: Documenting Requirements with Azure DevOps Technical requirements Introducing Azure DevOps Organizing your work using Azure DevOps Azure DevOps repository Package feeds Test Plans Pipelines Managing system requirements in Azure DevOps Epic work items Feature work items Product Backlog items/User Story work items Use case – presenting use cases in Azure DevOps Summary Questions Further reading Chapter 4: Deciding on the Best Cloud-Based Solution Technical requirements Different software deployment models IaaS and Azure opportunities Security responsibility in IaaS PaaS – a world of opportunities for developers Web apps SQL databases Azure Cognitive Services SaaS – just sign in and get started! Understanding what serverless means Why are hybrid applications so useful in many cases? Book use case – which is the best cloud solution? Summary Questions Further reading Chapter 5: Applying a Microservice Architecture to Your Enterprise Application Technical requirements What are microservices? Microservices and the evolution of the concept of modules Microservices design principles The independence of design choices Independence from the deployment environment Loose coupling No chained requests/responses Containers and Docker When do microservices help? Layered architectures and microservices The presentation layer When is it worth considering microservice architectures? How does .NET deal with microservices? .NET communication facilities Resilient task execution Using generic hosts Visual Studio support for Docker Analyzing the Docker file Publishing the project Azure and Visual Studio support for microservice orchestration Which tools are needed to manage microservices? Defining your private Docker registry in Azure Summary Questions Further reading Chapter 6: Azure Kubernetes Service Technical requirements Kubernetes basics .yaml files ReplicaSets and Deployments StatefulSets Services Ingresses Interacting with Azure Kubernetes clusters Using Kubectl Deploying the demo Guestbook application Advanced Kubernetes concepts Requiring permanent storage Kubernetes secrets Liveness and readiness checks Autoscaling Helm – Installing an Ingress Controller Summary Questions Further reading Chapter 7: Interacting with Data in C# – Entity Framework Core Technical requirements Understanding ORM basics Configuring Entity Framework Core Defining DB entities Defining the mapped collections Completing the mapping configuration Entity Framework Core migrations Understanding stored procedures and direct SQL commands Compiled models Querying and updating data with Entity Framework Core Returning data to the presentation layer Issuing direct SQL commands Handling transactions Deploying your data layer Understanding Entity Framework Core advanced features Summary Questions Further reading Chapter 8: How to Choose Your Data Storage in the Cloud Technical requirements Understanding the different repositories for different purposes Relational databases NoSQL databases Redis Azure storage accounts Choosing between SQL or NoSQL document-oriented databases Azure Cosmos DB – an opportunity to manage a multi-continental database Creating an Azure Cosmos DB account Creating an Azure Cosmos container Accessing Azure Cosmos data Defining database consistency The Cosmos DB client The Cosmos DB Entity Framework Core provider Use case – storing data Implementing the destinations/packages database with Cosmos DB Summary Questions Further reading Chapter 9: Working with Azure Functions Technical requirements Understanding the Azure Functions app Consumption plan Premium plan App Service plan Programming Azure Functions using C# Listing Azure Functions templates Maintaining Azure Functions Azure Durable Functions Azure Functions roadmap Use case – Implementing Azure Functions to send emails First step – Creating Azure queue storage Second step – Creating the function to send emails Third step – Creating the queue trigger function Summary Questions Further reading Chapter 10: Design Patterns and .NET 6 Implementation Technical requirements Understanding design patterns and their purpose Builder pattern Factory pattern Singleton pattern Proxy pattern Command pattern Publisher/Subscriber pattern Dependency Injection pattern Understanding the available design patterns in .NET 6 Summary Questions Further reading Chapter 11: Understanding the Different Domains in Software Solutions Technical requirements What are software domains? Understanding domain-driven design Entities and value objects Layers and the Onion architecture Aggregates The repository and Unit of Work patterns DDD entities and Entity Framework Core Command Query Responsibility Segregation (CQRS) pattern Command handlers and domain events Event sourcing Use case – understanding the domains of the use case Summary Questions Further reading Chapter 12: Implementing Code Reusability in C# 10 Technical requirements Understanding the principles of code reusability What is not code reuse? What is code reuse? Reusability in the development life cycle Using .NET 6 for code reuse Creating a reusable class library How does C# deal with code reuse? Object-oriented analysis Generics What if the code is not reusable? I have my libraries. How do I promote them? Documenting .NET libraries using DocFX Documenting a Web API using Swagger Use case – reusing code as a fast way to deliver good and safe software Summary Questions Further reading Chapter 13: Applying Service-Oriented Architectures with .NET Technical requirements Understanding the principles of the SOA approach SOAP web services SOAP specifications Difficulties associated with the standard REST web services Service type compatibility rules REST and native HTTP features Example of methods in the REST language The OpenAPI standard REST service authorization and authentication How does .NET 6 deal with SOA? SOAP client support gRPC support A short introduction to ASP.NET Core Implementing REST services with ASP.NET Core ASP.NET Core service authorization ASP.NET Core support for OpenAPI .NET HTTP clients Use case – exposing WWTravelClub packages Summary Questions Further reading Chapter 14: Implementing Microservices with .NET Technical requirements Communication and data serialization Efficient and flexible binary serialization The ProtoBuf language ProtoBuf serialization Efficient and flexible RPC Reliable data-driven asynchronous communication Distributed transactions Implementing worker microservices with ASP.NET core The problem and the architecture The storage layer The application layer Processing the queued requests Testing the GrpcMicroservice project with a fake purchase requests generator Implementing microservices with .NET worker services and message brokers Installing RabbitMQ RabbitMQ basics Replacing internal queues with RabbitMQ Summary Questions Further reading Chapter 15: Presenting ASP.NET Core MVC Technical requirements Understanding the presentation layers of web applications Understanding the basics of ASP.NET Core ASP.NET Core middleware Loading configuration data and using it with the options framework Defining the ASP.NET Core pipeline Defining controllers and ViewModels Understanding how ASP.NET Core MVC creates the response HTML Razor Views Learning the Razor flow of control statements Understanding Razor View properties Using Razor tag helpers Reusing view code Understanding the connection between ASP.NET Core MVC and design principles Advantages of the ASP.NET Core pipeline Server-side and client-side validation ASP.NET Core globalization The MVC pattern Summary Questions Further reading Chapter 16: Implementing Frontend Microservices with ASP.NET Core Technical requirements Frontends and micro-frontends Public web APIs HTML micro-frontends Application specifications and architecture Defining application specifications Defining the application architecture Defining the domain layer abstraction Defining the data layer Defining the application layer Defining controllers and views Summary Further reading Chapter 17: Blazor WebAssembly Technical requirements Blazor WebAssembly architecture What is a single-page application? Loading and starting the application Routing Blazor pages and components Component structure Templates and cascading parameters Error handling Events Bindings How Blazor updates HTML Component lifecycle Blazor forms and validation Modifying HTML content from Blazor components Blazor advanced features References to components and HTML elements JavaScript interoperability Globalization and localization Authentication and authorization Communication with the server AOT compilation Third-party tools for Blazor WebAssembly Use case – implementing a simple application in Blazor WebAssembly Preparing the solution Implementing the required ASP.NET Core REST APIs Implementing the business logic in a service Implementing the user interface Summary Questions Further reading Chapter 18: Native versus Web Clients Technical requirements Technologies focused on native development Windows Forms Windows Presentation Foundation (WPF) Xamarin Technologies focused on web development Progressive web applications Cross-platform technologies Xamarin.Forms .NET MAUI A first look at .NET MAUI .NET MAUI Blazor applications Summary Questions Further reading Chapter 19: Artificial Intelligence and Machine Learning Technical requirements Introduction to AI and machine learning Classification of the most common artificial intelligence techniques Heuristic search First-order calculus Planners Heuristic rules, neural networks, and Bayesian networks Truth maintenance systems What is machine learning and why does it work? Machine learning basics How many examples do I need to learn my function? Learning smooth functions Neural networks The support vector algorithm Learning small computer programs: induction-based learning From theory to practice: the role of a software architect in an ML project Step 1 – Define your goal Step 2 – Provide and prepare data Step 3 – Train, tune, and deploy your model Step 4 – Test the trained model and feed back on it ML.NET – Machine learning made for .NET ML.NET Model Builder Summary Questions Further reading Chapter 20: Best Practices in Coding C# 10 Technical requirements The simpler your code, the better a programmer you are Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Number of lines of code Using a version control system Dealing with version control systems in teams Writing safe code in C# try-catch try-finally and using The IDisposable interface .NET 6 tips and tricks for coding Identifying well-written code Understanding and applying tools that can evaluate C# code Applying extension tools to analyze code Applying SonarAnalyzer Checking the final code after analysis Applying this chapter to the WWTravelClub sample project WWTravelClub – DOs and DON’Ts in writing code WWTravelClub – Evaluating C# code before publishing an application Summary Questions Further reading Chapter 21: Understanding DevOps Principles Technical requirements Describing DevOps Understanding DevOps principles Defining continuous integration Understanding continuous delivery with Azure DevOps Creating the Azure Web App and the Azure database Configuring your Visual Studio solution Configuring Azure Pipelines Adding a manual approval for the release Creating a release The multistage environment Defining continuous feedback and the related DevOps tools Monitoring software with Application Insights Using the Test and Feedback tool to enable feedback Understanding SaaS Adapting your organization to a service scenario Developing software in a service scenario Technical implications of a service scenario Deciding when to adopt a SaaS solution Preparing a solution for a service scenario The WWTravelClub project approach Summary Questions Further reading Chapter 22: Challenges of Applying CI & CD Scenarios Technical requirements Understanding CI/CD CI/CD and GitHub Understanding the risks and challenges when using CI/CD Disabling continuous production deployment Incomplete features An unstable solution for testing Understanding the WWTravelClub project approach Summary Questions Further reading Chapter 23: Testing Your Enterprise Application Technical requirements Understanding unit and integration tests Automating unit and integration tests Writing automated (unit and integration) tests Acceptance tests: writing functional and performance tests Understanding test-driven development Functional tests Defining C# test projects in Visual Studio Using the xUnit test framework Advanced test preparation and tear-down scenarios Mocking interfaces with Moq Automating functional tests in C# Testing the staging application Testing the staging application with Selenium Testing a controlled application Use case – automating unit and functional tests Automating functional tests Connecting to an Azure DevOps repository Summary Questions Further reading Answers Other Books You May Enjoy Index




پست ها تصادفی