Мне нужно создать диаграмму классов моего недавно созданного приложения Angular2. Я знаю основную схему создания диаграмм классов для .NET-приложения, написанного на C#, но никогда не делал его на основе архитектуры Angular2.Classdiagram Angular2, связь или зависимость при инъекции и использование маршрутизации
Сценарий 1: Класс, который зависит от службы
код:
@Injectable()
export class AmendmentAccountComponent implements OnInit
{
constructor(private accountService: AccountService)
{
}
}
Допустим, я создал компонент под названием AccountComponent. Этот компонент нуждается в службе AccountService, которая будет введена в конструктор. Прямо сейчас я собираюсь связать зависимость (не ассоциацию) с AccountComponent с AccountService, которая указывает, что она нуждается в этой зависимости до того, как компонент будет выполнен.
Зависимость по сравнению с тем, как она выглядит в этом article
ли зависимость правильный способ показать (что я объяснил) в диаграмме классов?
Сценарий 2: Компонент использует маршрутизации (RouteConfig)
Допустим, у меня есть компонент, названный PageComponent. Он имеет класс с именем тот же. Компонент получил некоторую маршрутизацию как возмущался в коде RouteConfig под здесь:
@RouteConfig([
{ path: '/', name: 'Bookings', component: BookingsComponent },
{ path: '/bookings', name: 'Bookings', component: BookingsComponent, useAsDefault: true },
])
Так ребенок этого компонента является BookingsComponent. Как следует нарисовать это соотношение на диаграмме классов? просто с нормальной ассоциацией?
Надеюсь, кто-то может помочь, особенно со сценарием 2, который я не уверен, как его нарисовать.
Итак, вы говорите, что если PageComponent использует маршрутизацию, чтобы перейти к ее дочернему компоненту, указав <роутер-выход> router-outlet>, тогда я должен использовать зависимость, иначе я использую ассоциацию? – Mikkel
Используйте ассоциацию, если объекты (экземпляры классов) связаны, в противном случае используйте зависимость. Значение «связанных» в угловых терминах открыто для обсуждения, но я бы сказал, что если класс PageComponent имеет поле (член, атрибут, свойство, вы его называете), ссылаясь на экземпляр BookingComponent, затем используйте ассоциация, указывающая от PageComponent к BookingComponent, в противном случае использует зависимость. –
Хорошо, спасибо за вашу помощь .. Я закончил тем, что сделал это ассоциацией, потому что мне важно дочерние компоненты и использование. –
Mikkel