Book Image

Mastering ABP Framework

By : Halil İbrahim Kalkan
Book Image

Mastering ABP Framework

By: Halil İbrahim Kalkan

Overview of this book

ABP Framework is a complete infrastructure for creating modern web applications by following software development best practices and conventions. With ABP's high-level framework and ecosystem, you can implement the Don’t Repeat Yourself (DRY) principle and focus on your business code. Written by the creator of ABP Framework, this book will help you to gain a complete understanding of the framework and modern web application development techniques. With step-by-step explanations of essential concepts and practical examples, you'll understand the requirements of a modern web solution and how ABP Framework makes it enjoyable to develop your own solutions. You'll discover the common requirements of enterprise web application development and explore the infrastructure provided by ABP. Throughout the book, you’ll get to grips with software development best practices for building maintainable and modular web solutions. By the end of this book, you'll be able to create a complete web solution that is easy to develop, maintain, and test.
Table of Contents (24 chapters)
Part 1: Introduction
Part 2: Fundamentals of ABP Framework
Part 3: Implementing Domain–Driven Design
Part 4: User Interface and API Development
Part 5: Miscellaneous

Working with menus

Menu management in the ABP Blazor UI is very similar to the ABP MVC/Razor Pages UI, which was covered in Chapter 12, Working with MVC/Razor Pages.

We use AbpNavigationOptions to add contributors to the menu system. ABP executes all the contributors to build the menu dynamically. The startup solution includes a menu contributor and is added to AbpNavigationOptions as per the following example:

Configure<AbpNavigationOptions>(options =>

DemoAppMenuContributor is a class that implements the IMenuContributor interface. The IMenuContributor interface defines the ConfigureMenuAsync method, which we should implement as shown in the following example:

public class DemoAppMenuContributor : IMenuContributor