docs/en/framework/architecture/index.md
//[doc-seo]
{
"Description": "Discover ABP's opinionated yet flexible architecture for building enterprise software, featuring modularity and comprehensive tools for developers."
}
ABP offers an opinionated architecture to build enterprise software solutions. In this way, the solution structure and development model is pretty well defined. All the solution templates, tooling, pre-built modules, guides and documentation are compatible to that development model.
While the architecture is opinionated, it is flexible enough to create any kind of application without any restriction. Essentially, anything you can do with a plain .NET application is already possible with an ABP-based application, allowing ABP to be learned gradually and using its features whenever you need it.
ABP's architecture is built on the following principles and infrastructures:
With ABP, you can create all kinds of applications, from simple console applications to CRUD web applications, from modular systems to large-scale microservice solutions.