если говорить о UML, то агрегат очень близок к агрегату в UML, c тем лишь различием, что UML накладывает ограничения только на время жизни в программе во время выполнения, в ddd же это расширено, потому что мы говорим о том что инварианты агрегата не должны нарушаться, тем самым ограничивая доступ к данным на запись(или в случае отчетов, как в примере в статье, у нас транзакционное чтение) в рамках одного агрегата в рамках всего жизненного цикла данных, а не только для конкретного инстанса