본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

An Atypical ASP.NET Core 5 Design Patterns Guide 상세페이지

An Atypical ASP.NET Core 5 Design Patterns Guide

A SOLID adventure into architectural principles, design patterns, .NET 5, and C#

  • 관심 0
소장
전자책 정가
28,000원
판매가
28,000원
출간 정보
  • 2020.12.31 전자책 출간
듣기 기능
TTS(듣기) 지원
파일 정보
  • PDF
  • 762 쪽
  • 49.6MB
지원 환경
  • PC뷰어
  • PAPER
ISBN
9781789340655
ECN
-
An Atypical ASP.NET Core 5 Design Patterns Guide

작품 정보

A .NET developer's guide to crafting robust, maintainable, and flexible web apps by leveraging C# 9 and .NET 5 features and component-scale and application-scale design patterns

▶What You Will Learn
⦁Apply the SOLID principles for building flexible and maintainable software
⦁Get to grips with .NET 5 dependency injection
⦁Work with GoF design patterns such as strategy, decorator, and composite
⦁Explore the MVC patterns for designing web APIs and web applications using Razor
⦁Discover layering techniques and tenets of clean architecture
⦁Become familiar with CQRS and vertical slice architecture as an alternative to layering
⦁Understand microservices, what they are, and what they are not
⦁Build ASP.NET UI from server-side to client-side Blazor

▶Key Features
⦁Apply software design patterns effectively, starting small and progressing to cloud-scale
⦁Discover modern application architectures such as vertical slice, clean architecture, and event-driven microservices
⦁Explore ASP.NET design patterns, from options to full-stack web development using Blazor

▶Who This Book Is For
This design patterns book is for intermediate-level software and web developers with some knowledge of .NET who want to write flexible, maintainable, and robust code for building scalable web applications. Knowledge of C# programming and an understanding of web concepts like HTTP is necessary.

▶What this book covers
▷ Section 1, Principles and Methodologies
This section contains the book's foundations: an overview of unit testing and xUnit, the SOLID principles, and some theory and examples on how to design software.

⦁ Chapter 1, Introduction to .NET, contains the prerequisites and an explanation of how the book works as well as a few important topics that will be useful to a software developer.

⦁ Chapter 2, Testing Your ASP.NET Core Application, introduces you to the basics of unit testing and the xUnit testing framework as well as to some good practices and methodologies to help write unit tests.

⦁ Chapter 3, Architectural Principles, lays the architectural ground with crucial principles used throughout the book and extremely important to any engineer trying to write "SOLID code."

▷ Section 2, Designing for ASP.NET Core
This section introduces ASP.NET Core-specific subjects, including Model-View-Controller (MVC), View Models, DTOs, and a few classic design patterns. We also deep dive into dependency injection and explore the evolved usage of certain patterns in ASP.NET Core as pillars of modern software engineering.

⦁ Chapter 4, The MVC Pattern using Razor, introduces you to the Model-View-Controller and the View Model design patterns to render views using Razor and ASP.NET Core MVC.

⦁ Chapter 5, The MVC Pattern for Web APIs, takes you further on the ASP.NET Core MVC journey, focusing on web APIs. We explore the Data Transfer Object (DTO) pattern and API contracts.

⦁ Chapter 6, Understanding the Strategy, Abstract Factory, and Singleton Design Patterns, introduces you to the traditional implementation of three basic Gang of Four (GoF) design patterns: Strategy, Abstract Factory, and Singleton.

⦁ Chapter 7, Deep Dive into Dependency Injection, takes the ASP.NET Core dependency injection container for a ride, introducing you to one of the most important aspects of modern software development. This chapter connects ASP.NET Core and the SOLID principles. Once the basics of dependency injection are laid out, we review the previous three GoF design patterns and revisit them using dependency injection, opening the way to build testable, flexible, and reliable software.

⦁ Chapter 8, Options and Logging Patterns, takes ASP.NET Core-related subjects and digs into them. We cover different options patterns and the abstraction provided to us. We also explore how to leverage logging in .NET 5.

▷ Section 3, Designing at Component Scale
This section focuses on component design, where we study how an individual piece of software can be crafted to achieve a particular goal. We explore a few more GoF patterns that should help us design SOLID data structures and components as well as simplifying the complexity of our code by encapsulating our logic in smaller units.

⦁ Chapter 9, Structural Patterns, introduces you to four new GoF structural design patterns and a few variants, such as transparent façades and opaque façades. It also introduces you to Scrutor, an open source project that adds support for the dependency injection of decorators.

⦁ Chapter 10, Behavioral Patterns, introduces two GoF behavioral design patterns and concludes by mixing them together as a final improvement on the code sample's design.

⦁ Chapter 11, Understanding the Operation Result Design Pattern, covers multiple variants of the Operation Result design pattern, structuring a result object to carry more than a simple result.

▷ Section 4, Designing at Application Scale
This section takes a step forward, leading toward application design and introducing layering, vertical slices, and microservices. We overview each technique making sure you know how to get started. We also cover different component-level patterns that help put those architectural styles together.

⦁ Chapter 12, Understanding Layering, introduces you to layering and clean architecture, covering the primary objectives behind the presentation, domain, data (persistence) layers, and their clean architecture counterparts, which is the apogee of layering. It also highlights the evolution of application design that happened in the last few decades, helping you to understand where it started (the beginning of the chapter) and where it is headed (the end of the chapter).

⦁ Chapter 13, Getting Started with Object Mappers, covers object mapping (that is, copying an object into another), also known as the Translator pattern, the Mapper pattern, and Entity Translator. The chapter introduces AutoMapper at the end, an open source library, to help us cover the most common scenarios automatically.

⦁ Chapter 14, Mediator and CQRS Design Patterns, introduces the Command Query Responsibility Segregation (CQRS) and the Mediator patterns. After covering those two patterns, we explore an open source tool named MediatR that is foundational to many subsequent subjects.

⦁ Chapter 15, Getting Started with Vertical Slice Architecture, introduces Vertical Slice Architecture. It uses a number of the previous patterns and tools that we have explored to piece together a different way to see the design of an application. It also introduces FluentValidation, which gets added to MediatR and AutoMapper.

⦁ Chapter 16, Introduction to Microservices Architecture, introduces microservices, what they are, what they are not, and talks about a few related patterns. It is a theoretical chapter introducing many concepts, such as message queues, events, Publish-Subscribe, and Gateway patterns. We also revisit CQRS at cloud scale. At the end of the chapter, we explore the basics of containers.

▷ Section 5, Designing the Client Side
This section introduces multiple UI patterns that we can use when developing ASP.NET Core 5 applications, such as Blazor, Razor Pages, and various types of components. It overviews what ASP.NET Core 5 offers in terms of user interfaces, leading to additional learning paths if you are interested.

⦁ Chapter 17, ASP.NET Core User Interfaces, explores most of the UI elements available to us in ASP.NET Core 5, such as Razor Pages, Partial Views, Tag Helpers, View Components, Display Templates, and Editor Templates. We also explore multiple C# 9 features, such as init-only properties and record classes.

⦁ Chapter 18, A Brief Look into Blazor, touches upon Blazor Server quickly, then explores Blazor WebAssembly (Wasm) to complete our journey and transform C#/.NET into a full-stack alternative to other JavaScript technologies. We explore Razor Components and the Model-View-Update design pattern. We end the chapter with a medley of possibilities you can start digging into.

작가 소개

▶About the Author
- Carl-Hugo Marcotte
Carl-Hugo Marcotte is a senior .NET developer working as an independent consultant out of Ottawa, Canada. Having written his first line of code at about eight years old, he has grown to be an expert on Software Architecture, C#, Asp.Net, Asp.Net Core, Agile Methodologies, Azure and Cloud. Since the beginning of his career, he developed projects of different sizes; mostly for enterprises. Knowledge is what drives him which led him to teach part-time computer programming to adults going back to school; leading to fruitful second chances for some! He is also an active blogger which he sees as another effective way of sharing his skills and code with the world.

리뷰

0.0

구매자 별점
0명 평가

이 작품을 평가해 주세요!

건전한 리뷰 정착 및 양질의 리뷰를 위해 아래 해당하는 리뷰는 비공개 조치될 수 있음을 안내드립니다.
  1. 타인에게 불쾌감을 주는 욕설
  2. 비속어나 타인을 비방하는 내용
  3. 특정 종교, 민족, 계층을 비방하는 내용
  4. 해당 작품의 줄거리나 리디 서비스 이용과 관련이 없는 내용
  5. 의미를 알 수 없는 내용
  6. 광고 및 반복적인 글을 게시하여 서비스 품질을 떨어트리는 내용
  7. 저작권상 문제의 소지가 있는 내용
  8. 다른 리뷰에 대한 반박이나 논쟁을 유발하는 내용
* 결말을 예상할 수 있는 리뷰는 자제하여 주시기 바랍니다.
이 외에도 건전한 리뷰 문화 형성을 위한 운영 목적과 취지에 맞지 않는 내용은 담당자에 의해 리뷰가 비공개 처리가 될 수 있습니다.
아직 등록된 리뷰가 없습니다.
첫 번째 리뷰를 남겨주세요!
'구매자' 표시는 유료 작품 결제 후 다운로드하거나 리디셀렉트 작품을 다운로드 한 경우에만 표시됩니다.
무료 작품 (프로모션 등으로 무료로 전환된 작품 포함)
'구매자'로 표시되지 않습니다.
시리즈 내 무료 작품
'구매자'로 표시되지 않습니다. 하지만 같은 시리즈의 유료 작품을 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
작품을 영구 삭제해도 '구매자' 표시는 남아있습니다.
결제 취소
'구매자' 표시가 자동으로 사라집니다.

개발/프로그래밍 베스트더보기

  • 멀티패러다임 프로그래밍 (유인동)
  • 조코딩의 AI 비트코인 자동 매매 시스템 만들기 (조동근)
  • 랭체인 & 랭그래프로 AI 에이전트 개발하기 (서지영)
  • 요즘 우아한 AI 개발 (우아한형제들)
  • 윌 라슨의 엔지니어링 리더십 (윌 라슨, 임백준)
  • 랭체인과 RAG로 배우는 실전 LLM 애플리케이션 개발 (양기빈, 조국일)
  • 한 권으로 끝내는 실전 LLM 파인튜닝 (강다솔)
  • 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 (최범균)
  • 이펙티브 소프트웨어 설계 (토마스 레렉, 존 스키트)
  • MCP 혁신: 클로드로 엑셀, 한글, 휴가 등록부터 결재문서 자동화까지 with python (이호준, 차경림)
  • LLM을 활용한 실전 AI 애플리케이션 개발 (허정준, 정진호)
  • 챗GPT로 만드는 주식 & 암호화폐 자동매매 시스템 (설근민)
  • 혼자 공부하는 컴퓨터 구조+운영체제 (강민철)
  • 카프카 커넥트 (미카엘 메종, 케이트 스탠리)
  • 개정판 | 혼자 공부하는 머신러닝+딥러닝 (박해선)
  • 플랫폼 엔지니어링 (이언 놀런드, 카미유 푸르니에)
  • 개정판 | <소문난 명강의> 레트로의 유니티 6 게임 프로그래밍 에센스 (이제민)
  • 이지 러스트 (데이브 매클라우드, 이지호)
  • 이펙티브 소프트웨어 아키텍처 (올리버 골드만, 최희철)
  • 소프트웨어 엔지니어 가이드북 (게르겔리 오로스, 이민석)

본문 끝 최상단으로 돌아가기

spinner
앱으로 연결해서 다운로드하시겠습니까?
닫기 버튼
대여한 작품은 다운로드 시점부터 대여가 시작됩니다.
앱으로 연결해서 보시겠습니까?
닫기 버튼
앱이 설치되어 있지 않으면 앱 다운로드로 자동 연결됩니다.
모바일 버전