Simple and efficient programming with C# : skills to build applications with Visual Studio and .NET Apply skills and approaches to your programming to build a real world application in C# 9 using the latest editions of Visual Studio C# and Microsoft .NET. Each chapter opens with an introduction and original application written in C# 9 for you to jump into coding. From there you are guided through an expected output and taught best practices along the way. Author Vaskaran Sarcar emphasizes extending and maintaining the same program and he demonstrates examples for different scenarios to make your program more efficient and effective. This book is divided into four parts. The first part starts with a detailed discussion of polymorphism. It then shows you how to make proper use of abstract classes and interfaces and you will know which technique to use for a specific scenario. Discussions on code comments teach you how to use them effectively and why you need to be careful with code comments. In the second part you will learn six design principles including SOLID and DRY principles. These are the foundation of well known design patterns and they establish practices for developing software with considerations for maintaining and extending as a project grows. The third part takes you through the methods to make efficient applications. You will learn the common use of factories to separate code from its opposite and the alternative of inheritance using object composition and wrappers. This part also demonstrates the use of template methods hooks and facades in programming. Hints show you how professional coders develop an enterprise application. In the fourth and final part you will learn about effective memory management techniques by preventing leaks in your application and the use and misuse of design patterns. This part also discusses how to decide between a static method and an instance method and other techniques in brief. After reading this book you will be able to implement best practices to make your programs more effective and reliable. You will: Analyze the alternative solutions before implementation by comparing the pros and cons Make polymorphic code perform better Know the side effects of bad redundant comments Understand the significance of the SOLID and DRY principles Add features using wrappers Redefine steps without altering the calling sequence of an algorithm Use hooks in your application Convert a complex system into a user friendly system using facades Test your application in the latest edition of .NET.