As you will one day discover, none of the most known principles in software development can be 100% followed.
Programming is often about making compromises – abstract pureness vs. code size vs. speed vs.efficiency.
You just need to learn to find the right balance: not let your application fall into abyss of chaos but not tie yourself hands with multitude of abstraction layers.
Related Contents:
- Singleton by Jon Skeet clarification
- Can you explain Liskov Substitution Principle with a good C# example? [closed]
- Model-View-Presenter in WinForms
- Instantiate an object with a runtime-determined type
- What are the differences between proxy, wrapper or a façade classes
- How to check for default DateTime value?
- MVVM Madness: Commands
- Refactoring Singleton Overuse
- Storing WPF Image Resources
- Could not establish trust relationship for SSL/TLS secure channel — SOAP
- What Are Some Good .NET Profilers?
- string.IsNullOrEmpty(string) vs. string.IsNullOrWhiteSpace(string)
- Task continuation on UI thread
- Why does Path.Combine not properly concatenate filenames that start with Path.DirectorySeparatorChar?
- Most common C# bitwise operations on enums
- Creating an empty file in C#
- AppSettings get value from .config file
- How do I pronounce “=>” as used in lambda expressions in .Net [closed]
- No output to console from a WPF application?
- Measuring code execution time
- Prompt Dialog in Windows Forms
- Index of Currently Selected Row in DataGridView
- Extending an enum via inheritance
- Return StreamReader to Beginning
- Should I bind to ICollectionView or ObservableCollection
- Can I split an IEnumerable into two by a boolean criteria without two queries?
- What does mscorlib stand for? [duplicate]
- Overhead of try/finally in C#?
- Why does .net use the UTF16 encoding for string, but uses UTF-8 as default for saving files?
- How do the semantics of AsyncLocal differ from the logical call context?
- Proper way of handling exception in task continuewith
- Find all source hardcoded strings
- Static and Instance methods with the same name?
- Is there a better way to trim a DateTime to a specific precision?
- How do parameterized queries help against SQL injection?
- HashSet that preserves ordering
- Instancing a class with an internal constructor
- Found conflicts between System.Net.Http
- How to declare a class instance as a constant in C#?
- Can’t load a manifest resource with GetManifestResourceStream()
- Generic Type in constructor
- How to serialize/deserialize to `Dictionary` from custom XML not using XElement?
- Can DateTime tear in a 64 bit environment?
- TLS 1.2 not negotiated in .NET 4.7 without explicit ServicePointManager.SecurityProtocol call
- How to read an excel file in C# without using Microsoft.Office.Interop.Excel libraries
- Last and LastOrDefault not supported
- Global variables in c#.net
- Entity Framework Core creating model from existing database
- Singleton with parameters
- C# compare two objects of unknown types (including reference and value types)