Boilerplate Framework in ASP.NET – Fundamentals
A web application for an enterprise has several components to it. There are numerous layers of web architecture within the web application. Typically, you would see a login page, user management space, application setting management space, and other subsequent management infrastructure units. This is the most basic component structure followed by any web application. Advanced high-quality web applications follow certain practices aimed at better efficiency. These include following a better conceptual design that is domain specific (DDD), Dependency injection (DI), and layers within the same architectural design. It is as complicated as it sounds and requires contiguous hard work. As there are a few common tasks in place, enterprises earlier would share a common application framework that would allow them to repeat themselves while designing their web applications. However, modern web applications are looking to do it differently. The development of application frameworks or libraries for execution of the same common tasks in an attempt not to copy is prominent among companies now. One such framework in place that allows enterprises to develop their own unique libraries is the ASP.NET Boilerplate framework.
What is ASP.NET Boilerplate?
ASP.NET Boilerplate is regarded as the starting point that lays the foundation for development of modern web applications that centre around best practices and utility tools. It is a framework that has a general paper model without any specific components. This makes the framework model an ideal project template.
On the Server end of things
On the server side, the boilerplate framework is based on the latest in ASP.NET MVC and Web API. The framework is based on the principle of convention over configuration. The framework is domain driven with components like entities, repositories, services, domain specific services, application management services, etc. There are layers in place in the application architecture. Particular modules of the framework can be reused for large projects. The framework uses Dependency Injection and Object-Relational Mapping as an indicative of its best practices. Additionally, there is support for database migrations, and flexibility within the localization system. Management using the application is easier as there is an EventBus component for server-side global domain events along with exception handling and validation. The layered architecture also has a dynamic Web API layer for web application management and services. It is an ideal base for developing modern, more efficient web applications.
What the Client gets