Creating maintainable, scalable, and reusable software systems is at the core of successful software development. To achieve these goals, understanding and applying the right set of design principles is essential. In object-oriented programming (OOP), the GRASP principles provide valuable guidance to help you design better software systems. GRASP, which stands for General Responsibility Assignment …
Author: admin
Proxy Pattern
Proxy Pattern In proxy pattern, a class represents functionality of another class. This type of design pattern comes under structural pattern. In proxy pattern, we create object having original object to interface its functionality to outer world. Proxy design pattern intent according to GoF is: Provide a surrogate or placeholder for another object to control …
Maintainable Applications
It is well known that the majority of the cost of software is not in its initial development, but in its ongoing maintenance—fixing bugs, keeping its systems operational, investigating failures, adapting it to new platforms, modifying it for new use cases, technical debt, and adding new features. Yet, unfortunately, many people working on software systems …
Scalable Applications
Scalable Applications Scalability is the term we use to describe a system’s ability to cope with increased load. Note, however, that it is not a one-dimensional label that we can attach to a system: it is meaningless to say “X is scalable” or “Y doesn’t scale.” Rather, discussing scalability means considering questions like “If …
Reliable Applications
Reliable Applications Everybody has an intuitive idea of what it means for something to be reliable or unreliable. For software, typical expectations include: The application performs the function that the user expected. It can tolerate the user making mistakes or using the software in unexpected ways. Its performance is good enough for the required use …
API Versioning in .NET 8
Introduction In this article, we will explore how to implement URL-based API version control in ASP.NET Core Web API and integrate version control with Swagger using the Asp.Versioning.Mvc and Asp.Versioning.Mvc.ApiExplorer NuGet packages.As developers, we often add new features to our apps and modify current APIs as well. Versioning enables us to safely add new functionality without breaking changes …