Introduction to AUA Framework
ASP.NET Unique Architecture (AUA) — Progressive & Ready-to-use
AUA (Asp.Net Unique Architecture) is a ready-to-use framework for ASP.NET Core with repositories, services, models mapping, user access, reporting, exception handling, web API, and MVC[cite: 15].
Using the AUA framework, you can easily have better, faster, and more orderly and focused coding[cite: 15]. This framework is based on new and up-to-date concepts, structures, and architectures, including Clean Architecture, Clean Code, Domain-Driven Design (DDD), LMAX Architecture, SOLID Principles, Code Refactoring, and GRASP[cite: 15].
Why Do We Need a Framework?
Software companies often struggle with the lack of proper structure, leading to complex and nested codes where modifying one part disrupts others[cite: 15]. Without it, team efficiency drops to zero and projects face constant task duplication or total rewrites[cite: 15].
The Backend Advantage
Just like Bootstrap transforms frontend design, a general-purpose backend framework saves time and cost while producing high-quality code and uniform architecture[cite: 15]. It hides underlying complexities so developers can focus purely on business logic[cite: 15].
Core Architectural Foundations
AUA relies on robust, industry-standard modern concepts to ensure maximum maintainability[cite: 15]:
Minimum Benefits of Using AUA
- Reducing software development costs[cite: 15]
- Saving development time[cite: 15]
- Convenient and long-term maintenance[cite: 15]
- Delivering a high-quality product[cite: 15]
Features of AUA Framework
- Cleaner codes and higher readability[cite: 15]
- No need to write a proprietary framework from scratch[cite: 15]
- Unified naming pattern for all concepts[cite: 15]
- Ready service architecture infrastructure[cite: 15]
- Built-in reporting and robust exception handling infrastructure[cite: 15]
AUA Clean Controller Implementation Sample
This high-level example illustrates how AUA enforces Clean Code and SOLID principles inside API controllers by leveraging unified response wrappers (ResultModel) and automatic dependency handling.
[ApiController]
[Route("api/[controller]")]
public class StudentController : BaseApiController
{
private readonly IStudentService _studentService;
public StudentController(IStudentService studentService)
{
_studentService = studentService;
}
// Unified Clean Response Wrapper in AUA
[HttpGet("{id:long}")]
public async Task<ResultModel<StudentDto>> GetByIdAsync(long id)
{
var student = await _studentService.GetByIdAsync(id);
if (student == null)
return Error<StudentDto>("Student record not found");
return Success(student);
}
}
"If you think good architecture is expensive, try bad architecture."