100% found this document useful (1 vote)
13 views

Implementing Design Patterns in C# 11 and .NET 7: Learn how to design and develop robust and scalable applications using design patterns - 2nd Edition Malavasi Cardoso download

The document is about the book 'Implementing Design Patterns in C# 11 and .NET 7', which teaches readers how to design and develop robust and scalable applications using design patterns. It covers fundamental concepts of C#, .NET, object-oriented programming, and various design patterns with practical examples. The book is authored by Alexandre F. Malavasi Cardoso and includes a code bundle available for download.

Uploaded by

bolduckpoku
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
13 views

Implementing Design Patterns in C# 11 and .NET 7: Learn how to design and develop robust and scalable applications using design patterns - 2nd Edition Malavasi Cardoso download

The document is about the book 'Implementing Design Patterns in C# 11 and .NET 7', which teaches readers how to design and develop robust and scalable applications using design patterns. It covers fundamental concepts of C#, .NET, object-oriented programming, and various design patterns with practical examples. The book is authored by Alexandre F. Malavasi Cardoso and includes a code bundle available for download.

Uploaded by

bolduckpoku
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Implementing Design Patterns in C# 11 and .

NET
7: Learn how to design and develop robust and
scalable applications using design patterns -
2nd Edition Malavasi Cardoso pdf download
https://ebookmeta.com/product/implementing-design-patterns-
in-c-11-and-net-7-learn-how-to-design-and-develop-robust-and-
scalable-applications-using-design-patterns-2nd-edition-malavasi-
cardoso/

Download more ebook from https://ebookmeta.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebookmeta.com
to discover even more!

The easiest way to learn design patterns With C code


samples using NET 6 templates Fiodar Sazanavets

https://ebookmeta.com/product/the-easiest-way-to-learn-design-
patterns-with-c-code-samples-using-net-6-templates-fiodar-
sazanavets/

Design Patterns in .NET: Reusable Approaches in C# and


F# for Object-Oriented Software Design 1st Edition
Dmitri Nesteruk

https://ebookmeta.com/product/design-patterns-in-net-reusable-
approaches-in-c-and-f-for-object-oriented-software-design-1st-
edition-dmitri-nesteruk/

Design Patterns in .NET 6: Reusable Approaches in C#


and F# for Object-Oriented Software Design 3rd Edition
Dmitri Nesteruk

https://ebookmeta.com/product/design-patterns-in-net-6-reusable-
approaches-in-c-and-f-for-object-oriented-software-design-3rd-
edition-dmitri-nesteruk/

Portugal 12th Edition Gregor Clark Duncan Garwood


Catherine Le Nevez Kevin Raub Regis St Louis Kerry
Walker

https://ebookmeta.com/product/portugal-12th-edition-gregor-clark-
duncan-garwood-catherine-le-nevez-kevin-raub-regis-st-louis-
kerry-walker/
Street Photography LensCulture s Essential Guide to
Making and Sharing Remarkable Street Photography 2023rd
Edition Lensculture

https://ebookmeta.com/product/street-photography-lensculture-s-
essential-guide-to-making-and-sharing-remarkable-street-
photography-2023rd-edition-lensculture/

Pediatric Cardiac Surgery Fifth Edition Constantine


Mavroudis

https://ebookmeta.com/product/pediatric-cardiac-surgery-fifth-
edition-constantine-mavroudis/

By Land and By Sea A History of South Arabia before


Islam Recounted from Inscriptions Arabia Antica
Alessandra Avanzini

https://ebookmeta.com/product/by-land-and-by-sea-a-history-of-
south-arabia-before-islam-recounted-from-inscriptions-arabia-
antica-alessandra-avanzini/

Splendour, Misery, and Possibilities: An X-Ray of


Socialist Yugoslavia Darko Suvin

https://ebookmeta.com/product/splendour-misery-and-possibilities-
an-x-ray-of-socialist-yugoslavia-darko-suvin/

Indelible Girls on Top 1st Edition Layne Daniels

https://ebookmeta.com/product/indelible-girls-on-top-1st-edition-
layne-daniels/
Schein s common sense emergency abdominal surgery 3rd
Edition Ahmad Assalia Paul Rogers Moshe Schein

https://ebookmeta.com/product/schein-s-common-sense-emergency-
abdominal-surgery-3rd-edition-ahmad-assalia-paul-rogers-moshe-
schein/
Implementing
Design Patterns in
C# 11 and .NET 7
2nd Edition
Learn how to design and develop
robust and
scalable applications using design
patterns

Alexandre F. Malavasi Cardoso


www.bpbonline.com
Copyright © 2024 BPB Online

All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor BPB
Online or its dealers and distributors, will be held liable for any damages caused or
alleged to have been caused directly or indirectly by this book.

BPB Online has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, BPB Online cannot guarantee the accuracy of this information.

First published: 2021

Second published: 2024

Published by BPB Online


WeWork
119 Marylebone Road
London NW1 5PU

UK | UAE | INDIA | SINGAPORE

ISBN 978-93-55517-333

www.bpbonline.com
Dedicated to

My beloved wife:
Paula
and
My daughter Myla
About the Author

Alexandre F. Malavasi Cardoso boasts over 16 years in software


development, taking pivotal roles as a technical leader and engineer.
He has spearheaded major projects using Microsoft Technologies for
prominent companies across South America, Europe, and the U.S.
Presently, he serves as the Head of Engineering at Propylon and as a
Technical Advisor for Marelo. Alexandre’s academic accolades include
a postgraduate degree in Business and Systems Analysis and two
master’s degrees emphasizing Software Engineering with Agile
Methods. He has earned multiple Microsoft certifications in Azure
and Web Development. An active contributor to the global tech
community, Alexandre often speaks at international IT conferences,
authors technical articles, and has thrice been recognized by
Microsoft as a Most Valuable Professional (MVP).
About the Reviewer

Based in Rabat, Morocco, Nabil Tadili stands out as a renowned


Lead Software Architect with deep expertise in Full Stack
development, predominantly in the realms of .NET and Angular. With
an unwavering dedication to pioneering innovations and adhering to
industry best practices, he’s delved profoundly into these platforms,
ensuring he’s attuned to their evolving nuances. In addition, Nabil
showcases mastery in Node, Svelte, NextJs, Python, and a plethora
of databases and demonstrates an exceptional command over CI/CD
methodologies, representing a comprehensive embodiment of
contemporary software engineering.
At Orange Business, Nabil’s key role in driving the shift to a
Microservices architecture highlights his forward-thinking approach
to technological progression. While actively delving into Machine
Learning at the Georgia Institute of Technology, he further
accentuates his multifaceted expertise by refining business
workflows and leading groundbreaking digital projects. His freelance
journey, punctuated by over 150 accomplished projects and a stellar
98%+ client satisfaction rate, underscores his flexibility and
unwavering commitment.
Ever driven by the motto to challenge one’s limits, Nabil is an ardent
advocate for teamwork, innovation, and continuous learning. His
passion extends to artificial intelligence, quantum computing, and
science.
Acknowledgement

My heartfelt appreciation goes to my family and friends for their


steadfast support during this book’s creation, with a special nod to
my wife Paula and daughter Myla. I extend my gratitude to BPB
Publications, whose expertise was pivotal in finalizing this work—a
journey enriched by the collaboration of reviewers, technical
mavens, and editors.
I must also recognize the invaluable insights of my colleagues and
coworkers from years in the tech sector. Their teachings and
feedback have been indispensable. Lastly, to every reader who
resonated with my book: your enthusiasm and encouragement have
truly anchored this endeavor.
Preface

In the dynamic world of software development, the mastery of


Design Patterns and the intricacies of the object-oriented
programming paradigm can set one apart. This book aims to be your
guide through these complexities, specifically tailored for the modern
version of C# language and the .NET platform. Our journey spans
from the foundational SOLID principles, traces the rich history of the
.NET platform, and ventures into the core of Design Patterns, all
illustrated through tangible, real-world examples and an intuitive,
step-by-step methodology.
Our opening chapters lay the groundwork, elucidating the
fundamental concepts of C# and .NET. As we traverse through
SOLID principles and the essence of object-oriented programming,
we set the stage for the immersive experiences that follow. The
book’s heart revolves around hands-on examples that emphasize
best software development practices, all while setting the stage for
the profound Design Patterns which dominate the contemporary
market.
Upon turning the last page, you, the developer, will find yourself
equipped with a holistic understanding of C# and the .NET platform.
More than just knowledge, you’ll possess the practical wisdom to
implement best practices in real-world scenarios and a versatile
toolbox of Design Patterns to tackle the myriad challenges of
software development. Welcome to a transformative learning
experience.
Chapter 1: C# Fundamentals – Diving deep into the C#
landscape, this chapter covers the essential components of the
language—from its syntax to control structures. Readers will become
well-versed with data types, operators, and the nuances of C#
development, setting a solid foundation for advanced topics.
Chapter 2: .NET Fundamentals – This section unveils the
architecture of the .NET platform, detailing its core components,
runtime environment, and the Common Language Runtime (CLR).
Readers will learn about .NET’s diverse class libraries, offering a
comprehensive view of this powerful platform.
Chapter 3: Basic Concepts of Object-Oriented Programming
in C# – Emphasizing the pillars of OOP—encapsulation, inheritance,
polymorphism, and abstraction—this chapter offers a C#-centric
view. Readers will grasp the power of object-oriented design,
learning about classes, objects, interfaces, and more.
Chapter 4: SOLID Principles in C# – This chapter demystifies
the SOLID principles, laying the foundation for designing robust and
maintainable C# applications. Readers will understand the
importance of each principle, from Single Responsibility to
Dependency Inversion, and how they guide software craftsmanship.
Chapter 5: Introduction to Design Patterns – A comprehensive
introduction awaits as readers embark on a journey to understand
the rationale, significance, and application of design patterns,
preparing them to tackle software design challenges with
confidence.
Chapter 6: Singleton Pattern in .NET Applications – Exploring
the Singleton pattern, this chapter showcases its role in ensuring a
class has a single instance, guiding readers through its
implementation nuances and real-world applications within the .NET
environment.
Chapter 7: Abstract Factory Pattern with Blazor – Diving into
the Abstract Factory Pattern, readers will comprehend its importance
in abstracting the creation of related families of objects. The chapter
highlights its synergy with the Blazor framework, offering practical
insights.
Chapter 8: Prototype Pattern with ASP.NET Razor – This
chapter delves into the Prototype Pattern, emphasizing its utility in
creating object copies within the context of ASP.NET Razor. Through
examples, readers will learn about object cloning and its benefits.
Chapter 9: Factory Method Pattern Using New Features on
C# 11 – With a focus on the Factory Method Pattern, readers will
explore its applicability in object creation. Leveraging C# 11’s novel
features, the chapter provides an enriched perspective on this
creational pattern.
Chapter 10: Adapter Pattern with Entity Framework Core –
This chapter illuminates the Adapter Pattern, illustrating its pivotal
role in harmonizing incompatible interfaces. Using Entity Framework
Core as a backdrop, readers will discover the pattern’s application in
real-world scenarios.
Chapter 11: Composite Pattern with ASP.NET MVC – Detailing
the Composite Pattern, this section sheds light on managing
hierarchies of objects. Within the ASP.NET MVC framework context,
readers will grasp its essence and benefits, especially in UI
rendering.
Chapter 12: Proxy Pattern with GRPC – The Proxy Pattern takes
the spotlight here. Readers will learn its significance in controlling
access to objects. The integration with the GRPC framework offers a
fresh perspective on managing object communications.
Chapter 13: Command Pattern Using MediatR – This chapter
dissects the Command Pattern, emphasizing its utility in
encapsulating request-response mechanisms. With MediatR, readers
will experience its potency in decoupling classes and managing
operations.
Chapter 14: Strategy Pattern Using Azure C# and Azure
Functions – Exploring the Strategy Pattern, this chapter showcases
its role in defining interchangeable algorithm families. With C# and
Azure Functions as the foundation, readers will learn to dynamically
select algorithmic implementations in cloud-based solutions.
Chapter 15: Observer Pattern – Concluding with the Observer
Pattern, readers will delve into the intricacies of maintaining
consistency between objects. The chapter highlights the importance
of real-time data synchronization and how the pattern ensures
efficient object interactivity and communication.
Code Bundle and Coloured Images
Please follow the link to download the
Code Bundle and the Coloured Images of the book:

https://rebrand.ly/b4af92
The code bundle for the book is also hosted on GitHub at
https://github.com/bpbpublications/Implementing-Design-
Patterns-in-C-Sharp-11-and-.NET-7-2nd-Edition. In case
there’s an update to the code, it will be updated on the existing
GitHub repository.
We have code bundles from our rich catalogue of books and videos
available at https://github.com/bpbpublications. Check them
out!

Errata
We take immense pride in our work at BPB Publications and follow
best practices to ensure the accuracy of our content to provide with
an indulging reading experience to our subscribers. Our readers are
our mirrors, and we use their inputs to reflect and improve upon
human errors, if any, that may have occurred during the publishing
processes involved. To let us maintain the quality and help us reach
out to any readers who might be having difficulties due to any
unforeseen errors, please write to us at :
[email protected]
Your support, suggestions and feedbacks are highly appreciated by
the BPB Publications’ Family.

Did you know that BPB offers eBook versions of every book published, with
PDF and ePub files available? You can upgrade to the eBook version at
www.bpbonline.com and as a print book customer, you are entitled to a
discount on the eBook copy. Get in touch with us at :
[email protected] for more details.
At www.bpbonline.com, you can also read a collection of free technical
articles, sign up for a range of free newsletters, and receive exclusive discounts
and offers on BPB books and eBooks.

Piracy
If you come across any illegal copies of our works in any form on the internet,
we would be grateful if you would provide us with the location address or
website name. Please contact us at [email protected] with a link to
the material.

If you are interested in becoming an author


If there is a topic that you have expertise in, and you are interested in either
writing or contributing to a book, please visit www.bpbonline.com. We have
worked with thousands of developers and tech professionals, just like you, to
help them share their insights with the global tech community. You can make a
general application, apply for a specific hot topic that we are recruiting an
author for, or submit your own idea.

Reviews
Please leave a review. Once you have read and used this book, why not leave a
review on the site that you purchased it from? Potential readers can then see
and use your unbiased opinion to make purchase decisions. We at BPB can
understand what you think about our products, and our authors can see your
feedback on their book. Thank you!
For more information about BPB, please visit www.bpbonline.com.

Join our book’s Discord space


Exploring the Variety of Random
Documents with Different Content
with active links or immediate access to the full terms of the Project
Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing


access to or distributing Project Gutenberg™ electronic works
provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™


electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for


the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.

1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,


the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.

Section 2. Information about the Mission


of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.

The Foundation’s business office is located at 809 North 1500 West,


Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws regulating


charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states where


we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot make


any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.

Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.

You might also like