Introduction I just wanna recall my favorite Open Closed Principle (OCP) in solid principles. It says that "Software entities should be open for extension, but closed for modification" .In simple words, any object can be allowed to extend the behavior instead of changing or modifying the behavior. This is the rule thumb for TDD applications that we should follow. The extension methods in .NET Core comes handy to fulfill the needs of adding functionality to the existing class without modifying anything. What happens If we modify existing class? Consider we designed a class for the specific purpose lets say "CALC" which is helpful for us to do ADD, SUB,MUL,DIV and all of its return types are integer. And also consider that we are utilizing this class all over the application whenever Calculation needs and completed the Test Cases. Now If we want our "CALC" class to return decimal instead of integer. This functionality could break all over the application. W
Introduction We are in the new world of microservices and cross-platform applications which will be supported for multiple platforms and multiple heterogeneous teams can work on the same application. I like ASP.NET Core by the way its groomed to support modern architecture and adhere to the software principles. I am a big fan of dot net and now I become the craziest fan after seeing the sophisticated facility by dot net core to support infrastructure level where we can easily perform vertical and horizontal scaling. It very important design aspect is to keep things simple and short and by the way, RESTFul applications are build and it is a powerful mantra for REST-based application and frameworks. Some times we need to overrule some principles and order to handle some situations. I would like to share my situation of handling HTTP long polling to resolve the ASP.Net core 2 mins issue. What is HTTP Long polling? In the RESTFul term, when a client asks for a query from the serv