Analicemos ahora cómo se puede mejorar la definición de entidades con nuevos elementos utilizando los denominados aspectos.
Vea el vídeo para obtener información sobre los aspectos CDS.
En esta lección, aprenderemos sobre la directiva extend . Hablaremos de la directiva annotate más adelante en otra lección.
La Directivaextend
Con la directiva extend puede añadir campos de ampliación a definiciones existentes como se muestra en la siguiente figura:

En el ejemplo, el elemento someAdditionalField se añade a la entidad de dominio Authors. Esto también añade este campo a la tabla de base de datos generada.
Nota
Con la directiva extend , los metadatos como las anotaciones también se pueden añadir a las definiciones existentes o los metadatos existentes se pueden sobrescribir.
Las propiedades de tipo también se pueden fijar a través de extend. Por ejemplo, se puede aumentar la longitud de un elemento existente del tipo Cadena.
Aspectos nombrados
Puede utilizar extend con aspectos predefinidos para aplicar las mismas extensiones a varios destinos, como se muestra en la siguiente figura:

El ejemplo muestra un aspecto denominado ManagedObject que define los dos elementos createdAt y createdBy. Tanto la entidad Libros como la entidad Autores se amplían con estos campos a través de este aspecto nombrado.
Nota
Una extensión con nombre puede contener cualquier cosa, como campos, tipos o entidades.
Incluye como sintaxis de acceso directo
También puede utilizar aspectos con nombre como includes en una sintaxis similar a la herencia. Esta sintaxis le permite ampliar una definición con varios aspectos nombrados al mismo tiempo. En la siguiente figura, la entidad Authors se amplía con los dos aspectos nombrados ManagedObject y AnotherAspect.

Los includes son azúcar sintáctico. El ejemplo mostrado equivale a usar una secuencia de extends de la siguiente manera:
1234567entity Authors {}
extend Authors with ManagedObject;
extend Authors with AnotherAspect;
extend Authors with {
key ID : UUID;
...
}


