Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the features of the ABP framework of the ASP.NET template project

2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/03 Report--

This article mainly shows you the "ASP.NET template project what are the characteristics of the ABP framework", the content is easy to understand, clear, hope to help you solve your doubts, the following let the editor lead you to study and learn "what are the characteristics of the ASP.NET template project ABP framework" this article.

ABP is the abbreviation of "ASP.NET Boilerplate Project (ASP.NET template Project)".

ASP.NET Boilerplate is a new starting point for developing modern WEB applications with best practices and popular technologies, and it aims to become a common WEB application framework and project template.

Based on the classical hierarchical architecture of DDD, ASP.NET Boilerplate implements many concepts of DDD (but not all of DDD).

ABP's official website: http://www.aspnetboilerplate.com

ABP's open source project on Github: https://github.com/aspnetboilerplate

ASP.NET Boilerplate uses the following technologies:

Multilingual / localization support

Multi-tenant support (data of each tenant is automatically isolated, and business module developers do not need to write corresponding code when saving and querying data)

Soft deletion support (inheriting the corresponding base class or implementing the corresponding interface will automatically implement soft deletion)

Unified exception handling (there is almost no need for the application layer to write its own exception handling code)

Data validity verification (Asp.NET MVC can only verify the parameters of Action method, ABP implements the parameter validity verification of Application layer method)

Logging (automatic logging program exception)

Modular development (each module has an independent EF DbContext, and the database can be specified separately)

Repository warehousing mode (Entity Framework, NHibernate, MangoDB, in-memory database has been implemented)

Unit Of Work work unit mode (automatic implementation of database transactions for application layer and warehouse methods)

EventBus implementation Domain event (Domain Events)

DLL embedded resource management

Automatically create Web Api layers through Application Services (no need to write ApiController layers)

Automatically create a proxy layer for Javascript to make it easier to use Web Api

Encapsulate some Javascript functions to make it easier to use ajax, message boxes, notification components, busy mask layers, and so on

What is ABP?

ABP is a starting point for using best practices and the most popular tools for new modern Web applications. Can be used as a basic framework or project template for general-purpose applications. Its functions include:

Server side:

Based on the latest .NET technologies (currently ASP.NET MVC 5, Web API 2, C # 5.0, which will be upgraded after the official release of ASP.NET 5)

Implement domain-driven design (entities, warehousing, domain services, domain events, application services, data transfer objects, units of work, etc.)

Implement a hierarchical architecture (domain layer, application layer, presentation layer, and infrastructure layer)

Provides an infrastructure for developing reusable and configurable modules

Integrate some of the most popular open source frameworks / libraries, maybe some of which you are using.

Provides an infrastructure that makes it easy to use dependency injection (using Castle Windsor as a container for dependency injection)

Provide Repository warehousing mode to support different ORM (Entity Framework, NHibernate, MangoDb and in-memory database have been implemented)

Support and implement database migration (Code first of EF)

Modular development (each module has an independent EF DbContext, and the database can be specified separately)

Includes a simple and flexible multilingual / localization system

Include an EventBus to implement server-side global domain events

Unified exception handling (there is almost no need for the application layer to write its own exception handling code)

Data validity verification (Asp.NET MVC can only verify the parameters of Action method, ABP implements the parameter validity verification of Application layer method)

Automatically create Web Api layers through Application Services (no need to write ApiController layers)

Providing base classes and helper classes allows us to easily implement some common tasks

Use the "convention over configuration principle"

Client:

Bootstrap, Less, AngularJs, jQuery, Modernizr and other JS libraries: jQuery.validate, jQuery.form, jQuery.blockUI, json2, etc.

Project templates are provided for single-page applications (AngularJs, Durandaljs) and multi-page applications (Bootstrap+Jquery).

Automatically create a proxy layer for Javascript to make it easier to use Web Api

Encapsulate some Javascript functions to make it easier to use ajax, message boxes, notification components, busy mask layers, and so on

ABP is not what?

ABP provides an application development model for best practices. It has basic classes, interfaces, and tools that make it easy for us to build maintainable large-scale applications.

However:

It is not one of the RAD tools, and the purpose of the RAD tool is to create applications without coding. Instead, ABP provides a coding best practice.

It is not a code generation tool. Although it has some features to build dynamic code at run time, it cannot generate code.

It is not an integrated framework. Instead, it uses popular tools / libraries to accomplish specific tasks (such as using EF for ORM, using Log4Net for logging, making Castle Windsor as a dependency injection container, and AngularJs for the SPA framework).

From my experience of using ABP for a few months, although ABP is not a RAD, developing projects with it is definitely much faster than the traditional three-tier architecture.

Although ABP is not a code generation tool, it makes the code of our project more concise and standardized, which facilitates the use of code generation tools.

I use VS2013's Scaffolder+T4 code generator, which can automatically generate all the front and back end code and database according to the UML class diagram of the domain object. The simple CURD module hardly needs to write code, and the module with complex business logic can mainly supplement the domain layer code. In this way, you can spend more time on the design of the domain model and reduce the time of writing code.

These are all the contents of the article "what are the features of the ABP framework of the ASP.NET template project?" Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report