![Controlling Nested Class Instantiation in C#](https://giannisakritidis.com/assets/img/posts/c-sharp-logo.webp)
Controlling Nested Class Instantiation in C#
Feb 17, 2025
Categories: C#
Restrict nested class instantiation within your assembly. C# solutions using delegates, factories, and static abstract members.
Read![How to Ask Programming Questions: The Importance of Defining Data Over Code](https://giannisakritidis.com/assets/img/posts/question_mark.webp)
How to Ask Programming Questions: The Importance of Defining Data Over Code
Feb 10, 2025
Categories: General
The importance of data over code when asking programming questions and solving problems. How a well-formed question should always start and end with a clear definition of the data, rather than focusing solely on code implementation
Read![Data Driven Code Design](https://giannisakritidis.com/assets/img/posts/Architecture.webp)
Data Driven Code Design
Feb 3, 2025
Categories: C#, Architecture
How to think in terms of data when designing a system. The importance of designing systems where impossible states are impossible to represent by using a single source of truth instead of multiple state variables
Read![How to Extend a Type's State by Adding Fields with ConditionalWeakTable](https://giannisakritidis.com/assets/img/posts/c-sharp-logo.webp)
How to Extend a Type's State by Adding Fields with ConditionalWeakTable
Jan 27, 2025
Categories: C#
Learn how to extend a type's state by adding fields to it with the use of the ConditionalWeakTable that pairs additional data with an existing type and the differences between ConditionalWeakTable and Dictionary
Read![Static and Compile-Time Polymorphism in C#](https://giannisakritidis.com/assets/img/posts/c-sharp-logo.webp)
Static and Compile-Time Polymorphism in C#
Jan 20, 2025
Categories: C#
What compile-time and static polymorphism are, how they work, and the various ways to implement them in C#
Read![Understanding Nullable Value Types in C#](https://giannisakritidis.com/assets/img/posts/c-sharp-logo.webp)
Understanding Nullable Value Types in C#
Jan 14, 2025
Categories: C#
Nullable value types in C#, their purpose, and how to use them effectively. Where nullable value types can simplify code, such as replacing 'magic numbers', handling value types with undefined states, and managing values that may not be immediately available.
Read