Page 16 - 6182
P. 16

Як  видно  із  рисунку,  додаток  може  складатися  з  довільної
                  кількості  модулів,  які  в  свою  чергу  містять  компоненти,  сервіси,
                  фільтри  і  т.  п.  Компоненти  можуть  використовувати  сервіси  для

                  вирішення  задач,  використовуючи  принцип  інверсії  залежності
                  (Dependency Inversion (DI)).
                           Модулі
                           Як  вже  зазначалось  вище  додатки  на  платформі  Angular  є

                  модульними  і  сама  платформа  має  свою  модульну  систему,  яка
                  називається NgModules.
                           Будь-який  додаток  на  платформі  Angular  як  мінімум

                  складається з одного модульного класу – кореневого модуля, який
                  згідно конвенції має назву AppModule.
                           Будь-який  модуль  на  Angular,  чи  то  кореневий  модуль,  чи
                  модуль  якогось  функціоналу  –  це  клас,  який  оголошений  з

                  використанням декоратора @NgModule.
                           Модулі потрібні для наступного:

                             дозволяють організувати додаток у вигляді блоків різного
                  функціонального призначення, які зв‘язані між собою;
                             містить         метадані,          які      дозволяють            однозначно

                  ідентифікувати  компоненти,  сервіси,  директиви,  фільтри  цим
                  самим вирішити проблему конфлікту імен;
                             існує  можливість  закривати  і  надавати  доступ  до

                  конкретних елементів модуля, тим самим інші компоненти можуть
                  використовувати функціонал з того чи іншого модуля.
                           Для  створення  нового  модуля  можна  скористатись  Angular

                  CLI:
                  $ng g module <new_module>

                           Після  виконання  вище  наведеної  команди  буде  створено
                  заготовку  з  деклараціє  нового  модуля,  яка  може  виглядати
                  наступним чином:

                  import { BrowserModule } from '@angular/platform-browser';
                  import { NgModule } from '@angular/core';
                  import { AppComponent } from './app.component';
                  @NgModule({
                    declarations: [
                      AppComponent
                    ],
                    imports: [
                      BrowserModule
                    ],
                                                                16
   11   12   13   14   15   16   17   18   19   20   21