Termin realizacji zamówienia: ok. 16-18 dni roboczych.
Darmowa dostawa!
Beginning-Intermediate user level
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 Will You 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
Chapter Goal: To show you the proper use of comments. It also discusses the side-effects of bad/redundant comments.
No of pages: 5-10+
Chapter 2: Use Polymorphism
Chapter Goal: To show why a polymorphic code can perform better.
No of pages 5-10+
Sub - Topics
2.1 Initial Program: Demo 1
2.2 Output and Analysis
2.3 Making efficient programs: Demo 2
2.4 Analysis
2.5 Conclusion
Chapter 3: Abstract Class, or Interface?
Chapter Goal: In this chapter, we do not compare the basic differences between an abstract class or an interface. Instead, we discuss the code segments where you can use either of them, but the compiler does not raise any issue. Then we will analyze how to write efficient code using both these techniques for some specific scenarios.
No of pages: 10-15+
Chapter 4: Static Method or Instance Method?
Chapter Goal: This chapter shows how to decide between a static method and an instance method. It shows the answer with supporting code examples.
No of pages: 5-10+
Part II Important Principles
Chapter 5: The SOLID Principle(s)
Chapter Goal: This chapter explains the Single Responsibility Principle( SRP), Open/Closed Principle (OCP), Liscov Substitution Principle (LSP), Interface Segregation Principle (ISP),and Dependency Inversion Principle (DIP) principles (with and without ) with code examples.
No of pages 50+
Chapter 6: The DRY Principle
Chapter Goal: In this chapter, you learn about the DRY principle and its importance by building applications in C#. DRY stands for DON'T REPEAT YOURSELF and is a basic principle of software development, aimed to reducing repetition of information.
No of pages: 10-15+
Part III Make Flexible Applications
Chapter 7: Separate Changeable Code Using Factories
Chapter Goal: This chapter shows the common use of factories to separate the varying code from its opposite.
No of pages: 10-20+
Chapter 8: Add Features Using Wrappers
Chapter Goal: This chapter shows the alternative of inheritance using object composition and wrappers.
No of pages: 10-20+
Chapter 9: Efficient Templates using Hooks
Chapter Goal: This chapter shows the use of hooks inside a template method to shorten your code.
No of pages: 10-15+
Chapter 10: Simplify Complex Systems using Facades
Chapter Goal: This chapter shows the use of facades to simplify a complex system.
No of pages: 10-15+
Part IV Handling Surprises in a Better Way
Chapter 10: Organizing Exceptions
Chapter Goal: This chapter shows the way-how can we organize the exceptions and handle errors in a better way.
No of pages: 10-15+
Sub - Topics NA
Chapter 11: Special Attentions to the Null Values
Chapter Goal: This chapter shows the effective measures to handle the null values. It also shows the use of the Special Case Pattern in this context.
No of pages: 15-20+
Sub - Topics NA
Part V The Final Talks
Chapter 12: Memory Management
Chapter Goal: This chapter discusses the uses of design patterns and shows which patterns are already implemented in this book on different topics. It also discusses the misuse of patterns.
No of pages: 5-10+
Sub - Topics NA
Chapter 13: Leftover Discussions
Chapter Goal: It discusses the importance of learning design patterns and antipatterns, some common terminology in programming, how to choose between a static method and an instance method, and so on.
No of pages: 20+
Sub - Topics NA
Chapter 14: More Tips for Efficient Programs
Chapter Goal: It discusses some final tips to make a program simple and efficient.
No of pages: 5-10+
Sub - Topics NA
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), andOperating System: Computer Science Interview Series (Createspace, 2014).
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.
You will:
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