Source: Whit Richardson/Alamy Stock Photo The story of the monolith application or architecture begins with the rise of the web in the late 1990s and early 2000s. During this time, most web applications were developed as monoliths, which means that all the code and functionality were bundled together in a single application. This approach made it easier to develop and deploy applications, as everything was in one place. However, as applications grew in size and complexity, this monolithic approach began to cause the following problems. Harder to make changes, deploy new features and maintain the application Slow Deployment, for any small change, the entire application needs to be deployed You can’t scale one or more modules/components of an application independently, however, one has to scale the entire application Slow Time-to-market, as being a monolith application feature delivery may take more time Difficult for large and geographically distributed teams to work together Despite ha...
Introduction In this article, we are going to discuss Action and Func delegates in C# and how we use them. As we already know, a Delegate in C# is a type-safe method pointer and we are using it to handle the callback or an event. Actions and Funcs are just delegates but are pre-defined in System Namespace so that we don’t need to define the custom delegates manually. Syntax Both Action and Func delegates can have multiple input parameters. A Func delegate returns a value while an Action does not, this is the only difference between them. C# provides 17 overloads of Action delegate in the System Namespace, one of them is: public delegate void Action<in T>(T obj); This Action delegate would only accept one argument of type T. However, it can support up to 16 arguments of type T. Similarly, there are total of 17 overloads of Func delegate defined in the System Namespace, one of them is: public delegate TResult Func<out TResult...