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 throu...
Gespeichert in:
| 1. Verfasser: | |
|---|---|
| Format: | E-Book |
| Sprache: | Englisch |
| Veröffentlicht: |
Berkeley, CA
Apress, an imprint of Springer Nature
2021
Apress Apress L. P |
| Ausgabe: | 1 |
| Schlagworte: | |
| ISBN: | 9781484273210, 1484273214, 9781484273227, 1484273222 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Inhaltsangabe:
- Title Page Introduction Table of Contents Part I. Fundamentals 1. Flexible Code Using Polymorphism 2. Abstract Class or Interface? 3. Wise Use of Code Comments Part II. Important Principles 4. Know SOLID Principles 5. Use the DRY Principle Part III. Make Efficient Applications 6. Separate Changeable Code Using Factories 7. Add Features Using Wrappers 8. Efficient Templates Using Hooks 9. Simplify Complex Systems Using Facades Part IV. The Road Ahead 10. Memory Management 11. Leftover Discussions Appendices Index
- Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Part I: Fundamentals -- Chapter 1: Flexible Code Using Polymorphism -- Recap -- Initial Program -- Demonstration 1 -- Output -- Analysis -- Better Program -- Demonstration 2 -- Analysis -- Summary -- Chapter 2: Abstract Class or Interface? -- Recap -- Initial Program -- Better Program -- Demonstration -- Output -- Analysis -- Summary -- Chapter 3: Wise Use of Code Comments -- Recap -- Initial Program -- Demonstration 1 -- Output -- Analysis -- Better Program -- Demonstration 2 -- Analysis -- Use the Power of C# -- Summary -- Part II: Important Principles -- Chapter 4: Know SOLID Principles -- Single Responsibility Principle (SRP) -- Initial Program -- Demonstration 1 -- Output -- Analysis -- Better Program -- Demonstration 2 -- Output -- Open/Closed Principle (OCP) -- Initial Program -- Demonstration 3 -- Output -- Analysis -- Better Program -- Demonstration 4 -- Output -- Analysis -- Liskov Substitution Principle (LSP) -- Initial Program -- Demonstration 5 -- Output -- Better Program -- Demonstration 6 -- Output -- Analysis -- Interface Segregation Principle (ISP) -- Initial Program -- Demonstration 7 -- Output -- Analysis -- Better Program -- Demonstration 8 -- Output -- Analysis -- Dependency Inversion Principle (DIP) -- Initial Program -- Demonstration 9 -- Output -- Analysis -- Better Program -- Demonstration 10 -- Output -- Analysis -- Summary -- Chapter 5: Use the DRY Principle -- Reasons for DRY -- Initial Program -- Demonstration 1 -- Output -- Analysis -- Better Program -- Demonstration 2 -- Output -- Analysis -- Demonstration 3 -- Output -- Demonstration 4 -- Output -- Summary -- Part III: Make Efficient Applications -- Chapter 6: Separate Changeable Code Using Factories -- The Problem Statement -- Initial Program
- Demonstration 1 -- Output -- Analysis -- Better Program -- Demonstration 2 -- Output -- Analysis -- A New Requirement -- Demonstration 3 -- Output -- Analysis -- Demonstration 4 -- Output -- Analysis -- Summary -- Chapter 7: Add Features Using Wrappers -- The Problem Statement -- Using Subclassing -- Using Object Composition -- Class Diagram -- Demonstration -- Output -- Analysis -- Summary -- Chapter 8: Efficient Templates Using Hooks -- The Problem Statement -- Initial Program -- Class Diagram -- Demonstration 1 -- Output -- Analysis -- Enhanced Requirement -- Demonstration 2 -- Output -- Summary -- Chapter 9: Simplify Complex Systems Using Facades -- The Problem Statement -- Initial Program -- Demonstration 1 -- Output -- Analysis -- Better Program -- Class Diagram -- Demonstration 2 -- Output -- Analysis -- Summary -- Part IV: The Road Ahead -- Chapter 10: Memory Management -- Overview -- Stack Memory vs. Heap Memory -- Q& -- A Session -- The Garbage Collector in Action -- Different Phases of Garbage Collection -- Different Cases of Invoking the Garbage Collector -- Demonstration 1 -- Output -- Analysis -- Disposing of an Object -- Finalize vs. Dispose -- Demonstration 2 -- Output -- Analysis -- Q& -- A Session -- Memory Leak Analysis -- Demonstration 3 -- Snapshots from Diagnostic Tools -- Summary -- Chapter 11: Leftover Discussions -- Static Method or Instance Method? -- Recap -- Learn Design Patterns -- Brief History of Design Patterns -- Here Is the Good News! -- Q& -- A Session -- Avoid Anti-patterns -- Brief History of Anti-patterns -- Examples of Anti-patterns -- Types of Anti-patterns -- Q& -- A Session -- Some Common Terminology -- Q& -- A Session -- Summary -- Appendix A: Winning Notes -- A Personal Appeal to You -- Appendix B: Resources -- Index

