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)
1
Part 1: Introduction
6
Part 2: Fundamentals of ABP Framework
11
Part 3: Implementing Domain–Driven Design
15
Part 4: User Interface and API Development
19
Part 5: Miscellaneous

Designing aggregates and entities

It is very important to design your entities and aggregate boundaries since the rest of the solution components will be based on that design. In this section, we will first understand what an aggregate is. Then we will see some key principles of an aggregate design. Finally, I will introduce some explicit rules and code examples to understand how we should implement aggregates.

What is an aggregate root?

An aggregate is a cluster of objects bound together by an aggregate root object. The aggregate root object is responsible for implementing the business rules and constraints related to the aggregate, keeping the aggregate objects in a valid state and preserving the data integrity. The aggregate root and the related objects have methods to achieve that responsibility.

The Event aggregate shown in the following figure is a good example of aggregates:

Figure 10.1 – The Event aggregate

The examples in this chapter...