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

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.

Enterprise Application Development with C# 9 and .NET 5

Enterprise Application Development with C# 9 and .NET 5
Author: Ravindra Akella
Publisher: Packt Publishing Ltd
Total Pages: 611
Release: 2021-03-19
Genre: Computers
ISBN: 1800202512

Become a professional .NET developer by learning expert techniques for building enterprise-grade applications Key FeaturesExplore the advanced features of C# and .NET 5 to enhance your code and productivityFollow clear and easy instructions for building an end-to-end enterprise applicationLearn how to build scalable web applications and host them on the cloudBook Description .NET Core is one of the most popular programming platforms in the world for an increasingly large community of developers thanks to its excellent cross-platform support. This book will show you how to confidently use the features of .NET 5 with C# 9 to build robust enterprise applications. Throughout the book, you'll work on creating an enterprise app and adding a key component to the app with each chapter, before ?nally getting it ready for testing and deployment. You'll learn concepts relating to advanced data structures, the Entity Framework Core, parallel programming, and dependency injection. As you progress, you'll cover various authentication and authorization schemes provided by .NET Core to make your apps and APIs secure. Next, you'll build web apps using ASP.NET Core 5 and deploy them on the cloud while working with various cloud components using Azure. The book then shows you how to use the latest Microsoft Visual Studio 2019 and C# 9 to simplify developer tasks, and also explores tips and tricks in Visual Studio 2019 to improve your productivity. Later, you'll discover various testing techniques such as unit testing and performance testing as well as di?erent methods to deploy enterprise apps. By the end of this book, you'll be able to create enterprise apps using the powerful features of .NET 5 and deploy them on the cloud. What you will learnDesign enterprise apps by making the most of the latest features of .NET 5Discover di?erent layers of an app, such as the data layer, API layer, and web layerExplore end-to-end architecture, implement an enterprise web app using .NET and C# 9, and deploy the app on AzureFocus on the core concepts of web application development such as dependency injection, caching, logging, con?guration, and authentication, and implement them in .NET 5Integrate the new .NET 5 health and performance check APIs with your appUnderstand how .NET 5 works and contribute to the .NET 5 platformWho this book is for If you are a developer, architect, or senior programmer who wants to leverage the features of .NET 5 and the C# language, as well as grasp essential techniques to build your skills, then this C# .NET 5 book is for you. Beginner to intermediate-level knowledge of the .NET framework and C# programming is required to understand the concepts covered in this book more effectively.

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

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.

Clean Architecture

Clean Architecture
Author: Robert C. Martin
Publisher: Prentice Hall
Total Pages: 652
Release: 2017-09-12
Genre: Computers
ISBN: 0134494326

Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them. Martin’s Clean Architecture doesn’t merely present options. Drawing on over a half-century of experience in software environments of every imaginable type, Martin tells you what choices to make and why they are critical to your success. As you’ve come to expect from Uncle Bob, this book is packed with direct, no-nonsense solutions for the real challenges you’ll face–the ones that will make or break your projects. Learn what software architects need to achieve–and core disciplines and practices for achieving it Master essential software design principles for addressing function, component separation, and data management See how programming paradigms impose discipline by restricting what developers can do Understand what’s critically important and what’s merely a “detail” Implement optimal, high-level structures for web, database, thick-client, console, and embedded applications Define appropriate boundaries and layers, and organize components and services See why designs and architectures go wrong, and how to prevent (or fix) these failures Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software manager–and for every programmer who must execute someone else’s designs. Register your product for convenient access to downloads, updates, and/or corrections as they become available.

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

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.

C# 10 and .NET 6 – Modern Cross-Platform Development

C# 10 and .NET 6 – Modern Cross-Platform Development
Author: Mark J. Price
Publisher: Packt Publishing Ltd
Total Pages: 825
Release: 2021-11-09
Genre: Computers
ISBN: 1801076960

Publisher’s Note: Microsoft will stop supporting .NET 6 from November 2024. The newer 8th edition of the book is available that covers .NET 8 (end-of-life November 2026) with C# 12 and EF Core 8. Purchase of the print or Kindle book includes a free PDF eBook Key Features Explore the newest additions to C# 10, the .NET 6 class library, and Entity Framework Core 6 Create professional websites and services with ASP.NET Core 6 and Blazor Build cross-platform apps for Windows, macOS, Linux, iOS, and Android Book DescriptionExtensively revised to accommodate all the latest features that come with C# 10 and .NET 6, this latest edition of our comprehensive guide will get you coding in C# with confidence. You’ll learn object-oriented programming, writing, testing, and debugging functions, implementing interfaces, and inheriting classes. The book covers the .NET APIs for performing tasks like managing and querying data, monitoring and improving performance, and working with the filesystem, async streams, and serialization. You’ll build and deploy cross-platform apps, such as websites and services using ASP.NET Core. Instead of distracting you with unnecessary application code, the first twelve chapters will teach you about C# language constructs and many of the .NET libraries through simple console applications. In later chapters, having mastered the basics, you’ll then build practical applications and services using ASP.NET Core, the Model-View-Controller (MVC) pattern, and Blazor.What you will learn Build rich web experiences using Blazor, Razor Pages, the Model-View-Controller (MVC) pattern, and other features of ASP.NET Core Build your own types with object-oriented programming Write, test, and debug functions Query and manipulate data using LINQ Integrate and update databases in your apps using Entity Framework Core, Microsoft SQL Server, and SQLite Build and consume powerful services using the latest technologies, including gRPC and GraphQL Build cross-platform apps using XAML Who this book is forDesigned for both beginners and C# and .NET programmers who have worked with C# in the past and want to catch up with the changes made in the past few years, this book doesn’t need you to have any C# or .NET experience. However, you should have a general understanding of programming before you jump in.

CLR Via C#

CLR Via C#
Author: Jeffrey Richter
Publisher:
Total Pages: 0
Release: 2006
Genre: Application software
ISBN: 9780735621633

Dig deep and master the intricacies of the common language runtime (CLR) and the .NET Framework. Written by a highly regarded programming expert and consultant to the Microsoft .NET team, this guide is ideal for developers building any kind of application--including Microsoft ASP.NET, Windows Forms, Microsoft SQL Server, Web services, and console applications. You'll get hands-on instruction and extensive code C# code samples to help you tackle the tough topics and develop high-performance applications. Discover how to: Build, deploy, administer, and version applications, components, and shared assemblies Design types using constants, fields, constructors, methods, properties, and events Work effectively with the CLR's special types including enumerators, arrays, and strings Declare, create, and use delegates to expose callback functions Define and employ re-usable algorithms with interfaces and generics Define, use, and detect custom attributes Use exception handling to build robust, reliable, and security-enhanced components Manage memory automatically with the garbage collector and work with native resources Apply CLR Hosting, AppDomains, assembly loading, and reflection to build dynamically extensible applications PLUS--Get code samples on the Web

Just Enough Software Architecture

Just Enough Software Architecture
Author: George Fairbanks
Publisher: Marshall & Brainerd
Total Pages: 378
Release: 2010-08-30
Genre: Computers
ISBN: 0984618104

This is a practical guide for software developers, and different than other software architecture books. Here's why: It teaches risk-driven architecting. There is no need for meticulous designs when risks are small, nor any excuse for sloppy designs when risks threaten your success. This book describes a way to do just enough architecture. It avoids the one-size-fits-all process tar pit with advice on how to tune your design effort based on the risks you face. It democratizes architecture. This book seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties. It cultivates declarative knowledge. There is a difference between being able to hit a ball and knowing why you are able to hit it, what psychologists refer to as procedural knowledge versus declarative knowledge. This book will make you more aware of what you have been doing and provide names for the concepts. It emphasizes the engineering. This book focuses on the technical parts of software development and what developers do to ensure the system works not job titles or processes. It shows you how to build models and analyze architectures so that you can make principled design tradeoffs. It describes the techniques software designers use to reason about medium to large sized problems and points out where you can learn specialized techniques in more detail. It provides practical advice. Software design decisions influence the architecture and vice versa. The approach in this book embraces drill-down/pop-up behavior by describing models that have various levels of abstraction, from architecture to data structure design.

Microsoft .NET - Architecting Applications for the Enterprise

Microsoft .NET - Architecting Applications for the Enterprise
Author: Dino Esposito
Publisher: Microsoft Press
Total Pages: 417
Release: 2014-08-28
Genre: Computers
ISBN: 0133986403

A software architect’s digest of core practices, pragmatically applied Designing effective architecture is your best strategy for managing project complexity–and improving your results. But the principles and practices of software architecting–what the authors call the “science of hard decisions”–have been evolving for cloud, mobile, and other shifts. Now fully revised and updated, this book shares the knowledge and real-world perspectives that enable you to design for success–and deliver more successful solutions. In this fully updated Second Edition, you will: Learn how only a deep understanding of domain can lead to appropriate architecture Examine domain-driven design in both theory and implementation Shift your approach to code first, model later–including multilayer architecture Capture the benefits of prioritizing software maintainability See how readability, testability, and extensibility lead to code quality Take a user experience (UX) first approach, rather than designing for data Review patterns for organizing business logic Use event sourcing and CQRS together to model complex business domains more effectively Delve inside the persistence layer, including patterns and implementation.