На какие сущности разделяется Angular приложение

«На какие сущности разделяется Angular приложение» — вопрос из категории Angular, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Angular приложение делится на несколько ключевых сущностей:

  1. Модули (Modules)
    Организуют функциональность в блоки. Корневой модуль (AppModule) запускает приложение, а feature-модули группируют связанные компоненты, директивы, сервисы.

  2. Компоненты (Components)
    Управляют частью UI. Состоят из:

    • Шаблона (HTML)
    • Стилей (CSS)
    • Логики (TypeScript класс с @Component декоратором)
  3. Сервисы (Services)
    Содержат бизнес-логику, работают с данными. Обычно инжектятся в компоненты через DI.

  4. Директивы (Directives)
    Изменяют поведение DOM. Бывают структурные (*ngIf, *ngFor) и атрибутные (ngStyle).

  5. Паипы (Pipes)
    Преобразуют данные для отображения ({{ date | date:'short' }}).

Пример модуля:

@NgModule({
  declarations: [AppComponent, MyDirective],
  imports: [BrowserModule],
  providers: [DataService],
  bootstrap: [AppComponent]
})
export class AppModule {}