Simple and Efficient Programming with C#: Skills to Build Applications with Visual Studio and .NET, Second Edition

  • 3h 14m
  • Vaskaran Sarcar
  • Apress
  • 2023

Apply skills and approaches to your programming to build a real-world application in C# 11 using the latest editions of Visual Studio, C#, and Microsoft .NET.

This revised edition is updated with C#11 and places more emphasis on the newly introduced top-level statements. Additionally, you will find useful techniques and an explanation of the differences between writing code in two different styles. It also covers the new templates introduced in .NET 6, along with usage of .NET 7 in Windows 10 to write code and generate output.

Each chapter opens with an introduction and original application written in C# 11 so that you can jump right 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 five 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 teaches you to discern 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 walks you through 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.

Better handling of exceptions and null values is another integral part of professional programming, which the fourth part explores in detail. This will help you become a more professional programmer.

In the final part of the book, you will learn about effective memory management techniques and the use and misuse of design patterns. This part also briefly discusses how to decide between a static method and an instance method and other techniques.

After reading this book, you will be able to implement best practices to make your programs more effective and reliable.

What You Will Learn

  • Analyze alternative solutions before implementation by comparing 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
  • Run your application in .NET 6

Who This Book Is For

Developers with a basic knowledge of C#.

About the Author

Vaskaran Sarcar obtained his Master of Engineering degree in software engineering from Jadavpur University, Kolkata (India) and an MCA from Vidyasagar University, Midnapore (India). He was a National Gate Scholar (2007-2009) and has more than 12 years of experience in education and the IT industry. Vaskaran devoted his early years (2005-2007) to teaching at various engineering colleges, and later he joined HP India PPS R&D Hub Bangalore .He worked there until August, 2019. At the time of his retirement from the IT industry, he was Senior Software Engineer and Team Lead at HP. To follow his dream and passion, Vaskaran is now an independent full-time author. Other Apress books written by Vaskaran include: Design Patterns in C# second edition, Getting Started with Advanced C#, Interactive Object-Oriented Programming in Java second edition, Java Design Patterns second edition, Interactive C#, Interactive Object-Oriented Programming in Java, and Java Design Patterns. And other books he authored include: Python Bookcamp (Amazon, 2021), and Operating System: Computer Science Interview Series (Createspace, 2014).

In this Book

  • Introduction
  • Flexible Code Using Polymorphism
  • Abstract Class or Interface?
  • Wise Use of Code Comments
  • Know SOLID Principles
  • Use the DRY Principle
  • Separate Changeable Code Using Factories
  • Add Features Using Wrappers
  • Make Efficient Templates Using Hooks
  • Simplify Complex Systems Using Facades
  • Organizing Exceptions
  • Special Attention to the Null Values
  • Memory Management
  • Analyzing Memory Leaks
  • More Tips