Book Image

C# 7 and .NET Core 2.0 Blueprints

By : Dirk Strauss, Jas Rademeyer
Book Image

C# 7 and .NET Core 2.0 Blueprints

By: Dirk Strauss, Jas Rademeyer

Overview of this book

.NET Core is a general purpose, modular, cross-platform, and open source implementation of .NET. With the latest release of .NET Core, many more APIs are expected to show up, which will make APIs consistent across .Net Framework, .NET Core, and Xamarin. This step-by-step guide will teach you the essential .NET Core and C# concepts with the help of real-world projects. The book starts with a brief introduction to the latest features of C# 7 and .NET Core 2.0 before moving on to explain how C# 7 can be implemented using the object-oriented paradigm. You'll learn to work with relational data using Entity Framework and see how to use ASP.NET Core practically. This book will show you how .NET Core allows the creations of cross-platform applications. You'll also learn about SignalR to add real-time functionality to your application. Then you will see how to use MongoDB and how to implement MongoDB into your applications. You'll learn about serverless computing and OAuth concepts, along with running ASP.NET Core applications with Docker Compose. This project-based guide uses practical applications to demonstrate these concepts. By the end of the book, you'll be proficient in developing applications using .NET Core 2.0.
Table of Contents (17 chapters)
Title Page
Copyright and Credits
Packt Upsell

Object-oriented programming

As briefly mentioned earlier, OOP provides a modular approach to writing self-contained units of code. The concept of OOP centers around what we call the four pillars of object-oriented programming.

They are as follows:

  • Abstraction
  • Polymorphism
  • Inheritance
  • Encapsulation

The order doesn't really matter, but I always write the four pillars in this order because I use the mnemonic A PIE to remember each one. Let's discuss each of these concepts in more detail.


An abstraction describes what something should do without actually showing you how to do it. According to the Microsoft documentation:

"An abstraction is a type that describes a contract but does not provide a full implementation of the contract."

Included as examples of abstractions are abstract classes and interfaces. Examples of abstractions in the .NET Framework includeStream, IEnumerable<T>, and Object. If the topic of abstraction seems a bit fuzzy now, don't worry. I will go into much more detail...