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

Published: 2019-07-05

Total Pages: 402

ISBN-13: 1789138434

DOWNLOAD EBOOK

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 Domain-Driven Design with .NET Core

Hands-On Domain-Driven Design with .NET Core

Author: Alexey Zimarev

Publisher: Packt Publishing Ltd

Published: 2019-04-30

Total Pages: 435

ISBN-13: 1788833686

DOWNLOAD EBOOK

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.


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

Published: 2019-12-20

Total Pages: 328

ISBN-13: 1789133610

DOWNLOAD EBOOK

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.


Design Patterns

Design Patterns

Author: Erich Gamma

Publisher: Pearson Deutschland GmbH

Published: 1995

Total Pages: 512

ISBN-13: 9783827328243

DOWNLOAD EBOOK

Software -- Software Engineering.


Professional ASP.NET Design Patterns

Professional ASP.NET Design Patterns

Author: Scott Millett

Publisher: John Wiley & Sons

Published: 2010-09-16

Total Pages: 784

ISBN-13: 047095289X

DOWNLOAD EBOOK

Design patterns are time-tested solutions to recurring problems, letting the designer build programs on solutions that have already proved effective Provides developers with more than a dozen ASP.NET examples showing standard design patterns and how using them helpsbuild a richer understanding of ASP.NET architecture, as well as better ASP.NET applications Builds a solid understanding of ASP.NET architecture that can be used over and over again in many projects Covers ASP.NET code to implement many standard patterns including Model-View-Controller (MVC), ETL, Master-Master Snapshot, Master-Slave-Snapshot, Façade, Singleton, Factory, Single Access Point, Roles, Limited View, observer, page controller, common communication patterns, and more


Hands-On Design Patterns with C++

Hands-On Design Patterns with C++

Author: Fedor G. Pikus

Publisher: Packt Publishing Ltd

Published: 2019-01-30

Total Pages: 499

ISBN-13: 1788837959

DOWNLOAD EBOOK

A comprehensive guide with extensive coverage on concepts such as OOP, functional programming, generic programming, and STL along with the latest features of C++ Key FeaturesDelve into the core patterns and components of C++ in order to master application designLearn tricks, techniques, and best practices to solve common design and architectural challenges Understand the limitation imposed by C++ and how to solve them using design patternsBook Description C++ is a general-purpose programming language designed with the goals of efficiency, performance, and flexibility in mind. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation. The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: "This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen." By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code. What you will learnRecognize the most common design patterns used in C++Understand how to use C++ generic programming to solve common design problemsExplore the most powerful C++ idioms, their strengths, and drawbacksRediscover how to use popular C++ idioms with generic programmingUnderstand the impact of design patterns on the program’s performanceWho this book is for This book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable apps.


Hands-On TypeScript for C# and .NET Core Developers

Hands-On TypeScript for C# and .NET Core Developers

Author: Francesco Abbruzzese

Publisher: Packt Publishing Ltd

Published: 2018-10-31

Total Pages: 449

ISBN-13: 1789133327

DOWNLOAD EBOOK

Discover how TypeScript allows you to build modern client-rich applications, thanks to its object-oriented capabilities and third-party tools like Angular and Web APIs Key FeaturesMake a seamless transition to using TypeScript 3.1 in your development stackWork with TypeScript 3.1 in your ASP.NET Core projects to build rich applications that are easy to maintainBuild, test, and integrate your own TypeScript library in real-world projectsBook Description Writing clean, object-oriented code in JavaScript gets trickier and complex as the size of the project grows. This is where Typescript comes into the picture; it lets you write pure object-oriented code with ease, giving it the upper hand over JavaScript. This book introduces you to basic TypeScript concepts by gradually modifying standard JavaScript code, which makes learning TypeScript easy for C# ASP.NET developers. As you progress through the chapters, you'll cover object programming concepts, such as classes, interfaces, and generics, and understand how they are related to, and similar in, both ES6 and C#. You will also learn how to use bundlers like WebPack to package your code and other resources. The book explains all concepts using practical examples of ASP.NET Core projects, and reusable TypeScript libraries. Finally, you'll explore the features that TypeScript inherits from either ES6 or C#, or both of them, such as Symbols, Iterables, Promises, and Decorators. By the end of the book, you'll be able to apply all TypeScript concepts to understand the Angular framework better, and you'll have become comfortable with the way in which modules, components, and services are defined and used in Angular. You'll also have gained a good understanding of all the features included in the Angular/ASP.NET Core Visual Studio project template. What you will learnOrganize, test, and package large TypeScript code baseAdd TypeScript to projects using TypeScript declaration filesPerform DOM manipulation with TypeScriptDevelop Angular projects with the Visual Studio Angular project templateDefine and use inheritance, abstract classes, and methodsLeverage TypeScript-type compatibility rulesUse WebPack to bundle JavaScript and other resources such as CSS to improve performanceBuild custom directives and attributes, and learn about animationsWho this book is for If you’re a C# or .NET developer looking for an easy accessible way of learning TypeScript, this book is for you.


Implementing Design Patterns in C# and .NET 5

Implementing Design Patterns in C# and .NET 5

Author: Alexandre Malavasi

Publisher: BPB Publications

Published: 2021-07-31

Total Pages: 349

ISBN-13: 9390684366

DOWNLOAD EBOOK

Implement robust applications by applying efficient Design Patterns with .NET 5 and C# KEY FEATURES ● Detailed theoretical concepts covered, including the use of encapsulation, interfaces, and inheritance. ● Access to solutions applied for software strategy and final product output. ● Simplified demonstration of real applications implementing numerous design patterns. DESCRIPTION This book covers detailed aspects of Design Patterns and Object-Oriented Programming concepts using the most modern version of the C# language and .NET platform, including many real-world examples and good practice guidelines that help developers in building robust and extensible applications. The book begins with the essential concepts of C# programming and the .NET platform. You get your foundation strong by understanding SOLID Principles and the actual implementation of reliable applications. You will be working on most common Design Patterns such as Abstract Factory, Adapter, Composite, Proxy, Command, Strategy, Observer, Factory Method, Singleton, Builder, Interpreter, Mediator, and many other patterns that will help you to create solid enterprise applications. You will also witness the performance of these design patterns in a real software development environment with the help of practical examples. After learning the most common Design Patterns practiced in .NET enterprise applications, the reader will be able to understand and apply good practices of software development based on the object-oriented paradigm to develop complex enterprise applications efficiently and simply. WHAT YOU WILL LEARN ● Fine-tune your knowledge about interfaces, polymorphism, and encapsulation. ● Learn to practice implementing design patterns in enterprise applications. ● Implement rich design patterns: Observer, Strategy, Command, Proxy, and more. ● Get to learn the latest additional design patterns such as Builder, Bridge, and Decorator. ● Includes illustrations, examples, and real use-cases of .NET 5.0 applications. WHO THIS BOOK IS FOR This book is for .NET developers, application developers, and software engineers who want to develop .NET applications with proven techniques and build error-free applications. This book also attracts fresh graduates and entry-level developers as long as basic knowledge about .NET is known to them. TABLE OF CONTENTS 1. C# Fundamentals 2. Introduction to .NET 5 3. Basic Concepts of Object-Oriented Programming 4. Interfaces in C# 5. Encapsulation and Polymorphism in C# 6. SOLID Principles in C# 7. Abstract Factory 8. Abstract Factory 9. Prototype 10. Factory Method 11. Adapter 12. Composite 13. Proxy 14. Command 15. Strategy 16. Observer 17. Good Practices and Additional Design Patterns


Hands-On Design Patterns with Swift

Hands-On Design Patterns with Swift

Author: Florent Vilmart

Publisher:

Published: 2018-12-21

Total Pages: 414

ISBN-13: 9781789135565

DOWNLOAD EBOOK

From learning about the most sought-after design patterns to a comprehensive coverage of architectural patterns and code testing, this book is all you need to write clean, reusable code Key Features Write clean, reusable and maintainable code, and make the most of the latest Swift version. Analyze case studies of some of the popular open source projects and give your workflow a huge boost Choose patterns such as MVP, MVC, and MVVM depending on the application being built Book Description Swift keeps gaining traction not only amongst Apple developers but also as a server-side language. This book demonstrates how to apply design patterns and best practices in real-life situations, whether that's for new or already existing projects. You'll begin with a quick refresher on Swift, the compiler, the standard library, and the foundation, followed by the Cocoa design patterns - the ones at the core of many cocoa libraries - to follow up with the creational, structural, and behavioral patterns as defined by the GoF. You'll get acquainted with application architecture, as well as the most popular architectural design patterns, such as MVC and MVVM, and learn to use them in the context of Swift. In addition, you'll walk through dependency injection and functional reactive programming. Special emphasis will be given to techniques to handle concurrency, including callbacks, futures and promises, and reactive programming. These techniques will help you adopt a test-driven approach to your workflow in order to use Swift Package Manager and integrate the framework into the original code base, along with Unit and UI testing. By the end of the book, you'll be able to build applications that are scalable, faster, and easier to maintain. What you will learn Work efficiently with Foundation and Swift Standard library Understand the most critical GoF patterns and use them efficiently Use Swift 4.2 and its unique capabilities (and limitations) to implement and improve GoF patterns Improve your application architecture and optimize for maintainability and performance Write efficient and clean concurrent programs using futures and promises, or reactive programming techniques Use Swift Package Manager to refactor your program into reusable components Leverage testing and other techniques for writing robust code Who this book is for This book is for intermediate developers who want to apply design patterns with Swift to structure and scale their applications. You are expected to have basic knowledge of iOS and Swift.


NET Patterns

NET Patterns

Author: Christian Thilmany

Publisher: Addison-Wesley Professional

Published: 2004

Total Pages: 452

ISBN-13: 9780321130020

DOWNLOAD EBOOK

bull; bull;Extends the proven concept of design patterns to the relatively new field of .NET design and development bull;Part of the acclaimed Addison-Wesley Software Patterns Series, with John Vlissides as series editor bull;Includes helpful primers on XML and web services as well as thorough coverage of debugging, exceptions, error handling, and architecture