Hands-On Software Architecture with C# 8 and . NET Core 3

Hands-On Software Architecture with C# 8 and . NET Core 3
Author: Gabriel Baptista
Publisher:
Total Pages: 598
Release: 2019-11-29
Genre: Computers
ISBN: 9781789800937

Download Hands-On Software Architecture with C# 8 and . NET Core 3 Book in PDF, Epub and Kindle

Design scalable and high-performance enterprise applications using the latest features of C# 8 and .NET Core 3 Key Features Become a software architect capable of creating modular apps for specific business needs Design high-performance software systems using the latest features of C# 8 and .NET Core 3 Solve scalability problems in web apps using enterprise architectural patterns Book Description Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. With this software architecture book, you'll follow a hands-on approach to learning various architectural methods that will help you develop and deliver high-quality products. You'll begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you'll explore how to carefully choose a cloud solution for your infrastructure, along with covering dos and don'ts that will help you manage your app in a cloud-based environment. Later chapters will cover techniques and processes such as DevOps, microservices, and continuous integration, along with providing insights into implementing them using Microsoft technologies such as ASP.NET Core, the Entity Framework, Cosmos DB, and Azure DevOps. You will also learn about testing frameworks and automation tools that will help you through the development process. Finally, you'll discover design patterns and various software approaches that will allow you to solve common problems faced during development. By the end of this book, you'll be able to develop and deliver highly scalable enterprise-ready apps that meet customers' business needs. What you will learn Overcome real-world architectural challenges and solve design consideration issues Apply architectural approaches like Layered Architecture, service-oriented architecture (SOA), and microservices Learn to use tools like containers, Docker, and Kubernetes to manage microservices Get up to speed with Azure Cosmos DB for delivering multi-continental solutions Learn how to program and maintain Azure Functions using C# Understand when to use test-driven development (TDD) as an approach for software development Write automated functional test cases for your projects Who this book is for This book is for engineers and senior developers aspiring to become architects or looking to build enterprise applications with the .NET Stack. Experience with C# and .NET is required to understand this book.

Hands-On Parallel Programming with C# 8 and .NET Core 3

Hands-On Parallel Programming with C# 8 and .NET Core 3
Author: Shakti Tanwar
Publisher: Packt Publishing Ltd
Total Pages: 328
Release: 2019-12-20
Genre: Computers
ISBN: 1789133610

Download Hands-On Parallel Programming with C# 8 and .NET Core 3 Book in PDF, Epub and Kindle

Enhance your enterprise application development skills by mastering parallel programming techniques in .NET and C# Key FeaturesWrite efficient, fine-grained, and scalable parallel code with C# and .NET CoreExperience how parallel programming works by building a powerful applicationLearn the fundamentals of multithreading by working with IIS and KestrelBook Description In today’s world, every CPU has a multi-core processor. However, unless your application has implemented parallel programming, it will fail to utilize the hardware’s full processing capacity. This book will show you how to write modern software on the optimized and high-performing .NET Core 3 framework using C# 8. Hands-On Parallel Programming with C# 8 and .NET Core 3 covers how to build multithreaded, concurrent, and optimized applications that harness the power of multi-core processors. Once you’ve understood the fundamentals of threading and concurrency, you’ll gain insights into the data structure in .NET Core that supports parallelism. The book will then help you perform asynchronous programming in C# and diagnose and debug parallel code effectively. You’ll also get to grips with the new Kestrel server and understand the difference between the IIS and Kestrel operating models. Finally, you’ll learn best practices such as test-driven development, and run unit tests on your parallel code. By the end of the book, you’ll have developed a deep understanding of the core concepts of concurrency and asynchrony to create responsive applications that are not CPU-intensive. What you will learnAnalyze and break down a problem statement for parallelismExplore the APM and EAP patterns and how to move legacy code to TaskApply reduction techniques to get aggregated resultsCreate PLINQ queries and study the factors that impact their performanceSolve concurrency problems caused by producer-consumer race conditionsDiscover the synchronization primitives available in .NET CoreUnderstand how the threading model works with IIS and KestrelFind out how you can make the most of server resourcesWho this book is for If you want to learn how task parallelism is used to build robust and scalable enterprise architecture, this book is for you. Whether you are a beginner to parallelism in C# or an experienced architect, you’ll find this book useful to gain insights into the different threading models supported in .NET Standard and .NET Core. Prior knowledge of C# is required to understand the concepts covered in this book.

C# 8 and .NET Core 3 Projects Using Azure

C# 8 and .NET Core 3 Projects Using Azure
Author: Paul Michaels
Publisher: Packt Publishing Ltd
Total Pages: 520
Release: 2019-12-31
Genre: Computers
ISBN: 1789610249

Download C# 8 and .NET Core 3 Projects Using Azure Book in PDF, Epub and Kindle

Get up to speed with using C# 8 and .NET Core 3.0 features to build real-world .NET Core applications Key FeaturesLearn the core concepts of web applications, serverless computing, and microservicesCreate an ASP.NET Core MVC application using controllers, routing, middleware and authenticationBuild modern applications using cutting-edge services from Microsoft AzureBook Description .NET Core is a general-purpose, modular, cross-platform, and opensource implementation of .NET. The latest release of .NET Core 3 comes with improved performance and security features, along with support for desktop applications. .NET Core 3 is not only useful for new developers looking to start learning the framework, but also for legacy developers interested in migrating their apps. Updated with the latest features and enhancements, this updated second edition is a step-by-step, project-based guide. The book starts with a brief introduction to the key features of C# 8 and .NET Core 3. You'll learn to work with relational data using Entity Framework Core 3, before understanding how to use ASP.NET Core. As you progress, you’ll discover how you can use .NET Core to create cross-platform applications. Later, the book will show you how to upgrade your old WinForms apps to .NET Core 3. The concluding chapters will then help you use SignalR effectively to add real-time functionality to your applications, before demonstrating how to implement MongoDB in your apps. Finally, you'll delve into serverless computing and how to build microservices using Docker and Kubernetes. By the end of this book, you'll be proficient in developing applications using .NET Core 3. What you will learnUnderstand how to incorporate the Entity Framework Core 3 to build ASP.NET Core MVC applicationsCreate a real-time chat application using Azure’s SignalR serviceGain hands-on experience of working with Cosmos DBDevelop an Azure Function and interface it with an Azure Logic AppExplore user authentication with Identity Server and OAuth2Understand how to use Azure Cognitive Services to add advanced functionalities with minimal codeGet to grips with running a .NET Core application with KubernetesWho this book is for This book is for developers and programmers of all levels who want to build real-world projects and explore the new features of .NET Core 3. Developers working on legacy desktop software who are looking to migrate to .NET Core 3 will also find this book useful. Basic knowledge of .NET Core and C# is assumed.

Software Architecture with C# 9 and .NET 5

Software Architecture with C# 9 and .NET 5
Author: Gabriel Baptista
Publisher: Packt Publishing Ltd
Total Pages: 701
Release: 2020-12-28
Genre: Computers
ISBN: 1800565178

Download Software Architecture with C# 9 and .NET 5 Book in PDF, Epub and Kindle

Design scalable and high-performance enterprise applications using the latest features of C# 9 and .NET 5 Key FeaturesGain fundamental and comprehensive software architecture knowledge and the skillset to create fully modular appsDesign high-performance software systems using the latest features of .NET 5 and C# 9Solve scalability problems in web apps using enterprise architecture patternsBook Description Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. This fully revised and expanded second edition, featuring the latest features of .NET 5 and C# 9, enables you to acquire the key skills, knowledge, and best practices required to become an effective software architect. This second edition features additional explanation of the principles of Software architecture, including new chapters on Azure Service Fabric, Kubernetes, and Blazor. It also includes more discussion on security, microservices, and DevOps, including GitHub deployments for the software development cycle. You will begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you will explore how to carefully choose a cloud solution for your infrastructure, along with the factors that will help you manage your app in a cloud-based environment. Finally, you will discover software design patterns and various software approaches that will allow you to solve common problems faced during development. By the end of this book, you will be able to build and deliver highly scalable enterprise-ready apps that meet your organization’s business requirements. What you will learnUse different techniques to overcome real-world architectural challenges and solve design consideration issuesApply architectural approaches such as layered architecture, service-oriented architecture (SOA), and microservicesLeverage tools such as containers, Docker, Kubernetes, and Blazor to manage microservices effectivelyGet up to speed with Azure tools and features for delivering global solutionsProgram and maintain Azure Functions using C# 9 and its latest featuresUnderstand when it is best to use test-driven development (TDD) as an approach for software developmentWrite automated functional test casesGet the best of DevOps principles to enable CI/CD environmentsWho this book is for This book is for engineers and senior software developers aspiring to become architects or looking to build enterprise applications with the .NET Stack. Basic familiarity with C# and .NET is required to get the most out of this book.

Hands-On Design Patterns with C# and .NET Core

Hands-On Design Patterns with C# and .NET Core
Author: Gaurav Aroraa
Publisher: Packt Publishing Ltd
Total Pages: 402
Release: 2019-07-05
Genre: Computers
ISBN: 1789138434

Download Hands-On Design Patterns with C# and .NET Core Book in PDF, Epub and Kindle

Apply design patterns to solve problems in software architecture and programming using C# 7.x and .NET Core 2 Key FeaturesEnhance your programming skills by implementing efficient design patterns for C# and .NETExplore design patterns for functional and reactive programming to build robust and scalable applicationsDiscover how to work effectively with microservice and serverless architecturesBook Description Design patterns are essentially reusable solutions to common programming problems. When used correctly, they meet crucial software requirements with ease and reduce costs. This book will uncover effective ways to use design patterns and demonstrate their implementation with executable code specific to both C# and .NET Core. Hands-On Design Patterns with C# and .NET Core begins with an overview of object-oriented programming (OOP) and SOLID principles. It provides an in-depth explanation of the Gang of Four (GoF) design patterns such as creational, structural, and behavioral. The book then takes you through functional, reactive, and concurrent patterns, helping you write better code with streams, threads, and coroutines. Toward the end of the book, you’ll learn about the latest trends in architecture, exploring design patterns for microservices, serverless, and cloud native applications. You’ll even understand the considerations that need to be taken into account when choosing between different architectures such as microservices and MVC. By the end of the book, you will be able to write efficient and clear code and be comfortable working on scalable and maintainable projects of any size. What you will learnMake your code more flexible by applying SOLID principlesFollow the Test-driven development (TDD) approach in your .NET Core projectsGet to grips with efficient database migration, data persistence, and testing techniquesConvert a console application to a web application using the right MVPWrite asynchronous, multithreaded, and parallel codeImplement MVVM and work with RxJS and AngularJS to deal with changes in databasesExplore the features of microservices, serverless programming, and cloud computingWho this book is for If you have a basic understanding of C# and the .NET Core framework, this book will help you write code that is easy to reuse and maintain with the help of proven design patterns that you can implement in your code.

Hands-On Microservices with C# 8 and . NET Core 3

Hands-On Microservices with C# 8 and . NET Core 3
Author: Gaurav Aroraa
Publisher:
Total Pages: 474
Release: 2020-03-27
Genre:
ISBN: 9781789617948

Download Hands-On Microservices with C# 8 and . NET Core 3 Book in PDF, Epub and Kindle

Learn the essential concepts, techniques, and design patterns that will help you build scalable and maintainable distributed systems Key Features Learn to design, implement, test, and deploy your microservices Understand the challenges and complexities of testing and monitoring distributed services Build modular and robust microservice architectures with the latest features of C# 8 and .NET Core 3.1 Book Description The microservice architectural style promotes the development of complex applications as a suite of small services based on specific business capabilities. With this book, you'll take a hands-on approach to build microservices and deploy them using ASP .NET Core and Microsoft Azure. You'll start by understanding the concept of microservices and their fundamental characteristics. This microservices book will then introduce a real-world app built as a monolith, currently struggling under increased demand and complexity, and guide you in its transition to microservices using the latest features of C# 8 and .NET Core 3. You'll identify service boundaries, split the application into multiple microservices, and define service contracts. You'll also explore how to configure, deploy, and monitor microservices using Docker and Kubernetes, and implement autoscaling in a microservices architecture for enhanced productivity. Once you've got to grips with reactive microservices, you'll discover how keeping your code base simple enables you to focus on what's important rather than on messy asynchronous calls. Finally, you'll delve into various design patterns and best practices for creating enterprise-ready microservice applications. By the end of this book, you'll be able to deconstruct a monolith successfully to create well-defined microservices. What you will learn Package, deploy, and manage microservices and containers with Azure Service Fabric Use REST APIs to integrate services using a synchronous approach Protect public APIs using Azure Active Directory and OAuth 2.0 Understand the operation and scaling of microservices using Docker and Kubernetes Implement reactive microservices with Reactive Extensions Discover design patterns and best practices for building enterprise-ready apps Who this book is for This book is for C# and .NET Core developers who want to understand microservices architecture and implement it in their .NET Core applications. If you're new to building microservices or have theoretical knowledge of the architectural approach, this book will help you gain a practical perspective to manage application complexity efficiently.

Hands-On Domain-Driven Design with .NET Core

Hands-On Domain-Driven Design with .NET Core
Author: Alexey Zimarev
Publisher: Packt Publishing Ltd
Total Pages: 435
Release: 2019-04-30
Genre: Computers
ISBN: 1788833686

Download Hands-On Domain-Driven Design with .NET Core Book in PDF, Epub and Kindle

Solve complex business problems by understanding users better, finding the right problem to solve, and building lean event-driven systems to give your customers what they really want Key FeaturesApply DDD principles using modern tools such as EventStorming, Event Sourcing, and CQRSLearn how DDD applies directly to various architectural styles such as REST, reactive systems, and microservicesEmpower teams to work flexibly with improved services and decoupled interactionsBook Description Developers across the world are rapidly adopting DDD principles to deliver powerful results when writing software that deals with complex business requirements. This book will guide you in involving business stakeholders when choosing the software you are planning to build for them. By figuring out the temporal nature of behavior-driven domain models, you will be able to build leaner, more agile, and modular systems. You'll begin by uncovering domain complexity and learn how to capture the behavioral aspects of the domain language. You will then learn about EventStorming and advance to creating a new project in .NET Core 2.1; you'll also and write some code to transfer your events from sticky notes to C#. The book will show you how to use aggregates to handle commands and produce events. As you progress, you'll get to grips with Bounded Contexts, Context Map, Event Sourcing, and CQRS. After translating domain models into executable C# code, you will create a frontend for your application using Vue.js. In addition to this, you'll learn how to refactor your code and cover event versioning and migration essentials. By the end of this DDD book, you will have gained the confidence to implement the DDD approach in your organization and be able to explore new techniques that complement what you've learned from the book. What you will learnDiscover and resolve domain complexity together with business stakeholdersAvoid common pitfalls when creating the domain modelStudy the concept of Bounded Context and aggregateDesign and build temporal models based on behavior and not only dataExplore benefits and drawbacks of Event SourcingGet acquainted with CQRS and to-the-point read models with projectionsPractice building one-way flow UI with Vue.jsUnderstand how a task-based UI conforms to DDD principlesWho this book is for This book is for .NET developers who have an intermediate level understanding of C#, and for those who seek to deliver value, not just write code. Intermediate level of competence in JavaScript will be helpful to follow the UI chapters.

C# 8 and . NET Core 3 Projects Using Azure

C# 8 and . NET Core 3 Projects Using Azure
Author: Paul Paul Michaels
Publisher:
Total Pages: 528
Release: 2019-12-31
Genre:
ISBN: 9781789612080

Download C# 8 and . NET Core 3 Projects Using Azure Book in PDF, Epub and Kindle

Get up to speed with using C# 8 and .NET Core 3.0 features to build real-world .NET Core applications Key Features Learn the core concepts of web applications, serverless computing, and microservices Create an ASP.NET Core MVC application using controllers, routing, middleware and authentication Build modern applications using cutting-edge services from Microsoft Azure Book Description .NET Core is a general-purpose, modular, cross-platform, and opensource implementation of .NET. The latest release of .NET Core 3 comes with improved performance and security features, along with support for desktop applications. .NET Core 3 is not only useful for new developers looking to start learning the framework, but also for legacy developers interested in migrating their apps. Updated with the latest features and enhancements, this updated second edition is a step-by-step, project-based guide. The book starts with a brief introduction to the key features of C# 8 and .NET Core 3. You'll learn to work with relational data using Entity Framework Core 3, before understanding how to use ASP.NET Core. As you progress, you'll discover how you can use .NET Core to create cross-platform applications. Later, the book will show you how to upgrade your old WinForms apps to .NET Core 3. The concluding chapters will then help you use SignalR effectively to add real-time functionality to your applications, before demonstrating how to implement MongoDB in your apps. Finally, you'll delve into serverless computing and how to build microservices using Docker and Kubernetes. By the end of this book, you'll be proficient in developing applications using .NET Core 3. What you will learn Understand how to incorporate the Entity Framework Core 3 to build ASP.NET Core MVC applications Create a real-time chat application using Azure's SignalR service Gain hands-on experience of working with Cosmos DB Develop an Azure Function and interface it with an Azure Logic App Explore user authentication with Identity Server and OAuth2 Understand how to use Azure Cognitive Services to add advanced functionalities with minimal code Get to grips with running a .NET Core application with Kubernetes Who this book is for This book is for developers and programmers of all levels who want to build real-world projects and explore the new features of .NET Core 3. Developers working on legacy desktop software who are looking to migrate to .NET Core 3 will also find this book useful. Basic knowledge of .NET Core and C# is assumed.

Hands-On Network Programming with C# and .NET Core

Hands-On Network Programming with C# and .NET Core
Author: Sean Burns
Publisher: Packt Publishing Ltd
Total Pages: 473
Release: 2019-03-29
Genre: Computers
ISBN: 1789345839

Download Hands-On Network Programming with C# and .NET Core Book in PDF, Epub and Kindle

A comprehensive guide to understanding network architecture, communication protocols, and network analysis to build secure applications compatible with the latest versions of C# 8 and .NET Core 3.0 Key FeaturesExplore various network architectures that make distributed programming possibleLearn how to make reliable software by writing secure interactions between clients and serversUse .NET Core for network device automation, DevOps, and software-defined networkingBook Description The C# language and the .NET Core application framework provide the tools and patterns required to make the discipline of network programming as intuitive and enjoyable as any other aspect of C# programming. With the help of this book, you will discover how the C# language and the .NET Core framework make this possible. The book begins by introducing the core concepts of network programming, and what distinguishes this field of programming from other disciplines. After this, you will gain insights into concepts such as transport protocols, sockets and ports, and remote data streams, which will provide you with a holistic understanding of how network software fits into larger distributed systems. The book will also explore the intricacies of how network software is implemented in a more explicit context, by covering sockets, connection strategies such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), asynchronous processing, and threads. You will then be able to work through code examples for TCP servers, web APIs served over HTTP, and a Secure Shell (SSH) client. By the end of this book, you will have a good understanding of the Open Systems Interconnection (OSI) network stack, the various communication protocols for that stack, and the skills that are essential to implement those protocols using the C# programming language and the .NET Core framework. What you will learnUnderstand the breadth of C#'s network programming utility classesUtilize network-layer architecture and organizational strategiesImplement various communication and transport protocols within C#Discover hands-on examples of distributed application developmentGain hands-on experience with asynchronous socket programming and streamsLearn how C# and the .NET Core runtime interact with a hosting networkUnderstand a full suite of network programming tools and featuresWho this book is for If you're a .NET developer or a system administrator with .NET experience and are looking to get started with network programming, then this book is for you. Basic knowledge of C# and .NET is assumed, in addition to a basic understanding of common web protocols and some high-level distributed system designs.

Enterprise Application Architecture with .NET Core

Enterprise Application Architecture with .NET Core
Author: Ganesan Senthilvel
Publisher: Packt Publishing Ltd
Total Pages: 552
Release: 2017-04-25
Genre: Computers
ISBN: 1786469375

Download Enterprise Application Architecture with .NET Core Book in PDF, Epub and Kindle

Architect and design highly scalable, robust, clean and highly performant applications in .NET Core About This Book Incorporate architectural soft-skills such as DevOps and Agile methodologies to enhance program-level objectives Gain knowledge of architectural approaches on the likes of SOA architecture and microservices to provide traceability and rationale for architectural decisions Explore a variety of practical use cases and code examples to implement the tools and techniques described in the book Who This Book Is For This book is for experienced .NET developers who are aspiring to become architects of enterprise-grade applications, as well as software architects who would like to leverage .NET to create effective blueprints of applications. What You Will Learn Grasp the important aspects and best practices of application lifecycle management Leverage the popular ALM tools, application insights, and their usage to monitor performance, testability, and optimization tools in an enterprise Explore various authentication models such as social media-based authentication, 2FA and OpenID Connect, learn authorization techniques Explore Azure with various solution approaches for Microservices and Serverless architecture along with Docker containers Gain knowledge about the recent market trends and practices and how they can be achieved with .NET Core and Microsoft tools and technologies In Detail If you want to design and develop enterprise applications using .NET Core as the development framework and learn about industry-wide best practices and guidelines, then this book is for you. The book starts with a brief introduction to enterprise architecture, which will help you to understand what enterprise architecture is and what the key components are. It will then teach you about the types of patterns and the principles of software development, and explain the various aspects of distributed computing to keep your applications effective and scalable. These chapters act as a catalyst to start the practical implementation, and design and develop applications using different architectural approaches, such as layered architecture, service oriented architecture, microservices and cloud-specific solutions. Gradually, you will learn about the different approaches and models of the Security framework and explore various authentication models and authorization techniques, such as social media-based authentication and safe storage using app secrets. By the end of the book, you will get to know the concepts and usage of the emerging fields, such as DevOps, BigData, architectural practices, and Artificial Intelligence. Style and approach Filled with examples and use cases, this guide takes a no-nonsense approach to show you the best tools and techniques required to become a successful software architect.