Tag: Software Development
Pipes and Filters Design Pattern: A Practical Approach
The pipes and filters pattern is a powerful tool for breaking down complex data processing tasks into simple, reusable components. It can help you write maintainable and reusable code that is easy to understand and modify. In this blog post, we have seen how to use the pipes and filters pattern to validate incoming data…
Dynamic objects in C#
Dynamic objects in C# are objects that can have properties and methods added to them at runtime, as opposed to traditional objects which have a fixed set of properties and methods defined at compile time. There are a few different ways to create dynamic objects in C#, including the dynamic keyword and the ExpandoObject class.…
How to do polymorphic serialization/deserialization in C# System.Text.Json
In this blog post, you’ll see how to serialize and deserialize a hierarchy of objects polymorphically to have a cleaner json.
Understanding SOLID Principles: Single Responsibility
If your code is not adaptive enough, You process cannot be agile enough.. To make your code more adaptive learn SOLID Principles
Thoughts on design patterns
My opinions on design patterns and practices and things that you should keep in mind while choosing design patterns
What is Technical Debt?
Whenever we develop a software feature, it is likely that certain compromises will need to be made between the “ideal code” and the code that is good enough to meet the deadline. This is not to say that poor design should be encouraged to meet the deadline, but that there is some value in doing…
Are we an agile programmer?
What makes you an agile programmer? Is it because you work on an “agile” team or Is it because you use “agile” tools. Just by following some practices or tools can someone become a agile developer? The answer is a big NO!! Before we go any further lets take a look at the agile manifesto to understand what…