2016-05-21 3 views
0

私は新しく作成したAngular2アプリケーションのクラス図を作成する必要があります。私は、C#で書かれた.NETアプリケーションのクラス図を作成する基本を知っていますが、Angular2アーキテクチャに基づいたアプリケーションを作成したことはありません。クラス図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では、どのように描くのか分かりません。

enter image description here

2)あなたRouteConfigは、連想配列の配列である:

答えて

1

シナリオ1:はい、AccountServiceのにAccountComponentから依存関係が正しいです。

シナリオ2:この場合もPageComponentからBookingComponentへの依存が適切です。通常の関連付け(BookingComponentを指している矢頭)は、インスタンスのPageComponentが、 BookingComponentの(UMLの意味での)リンクを持つことができることを意味します。 Angular2では、PageComponentクラスがBookingComponent型のフィールドを持つ場合にのみ、関連付けを使用します。角度のソフトウェアのためのUMLモデリングの詳細については

、私はあなたが作った最初の画像を理解し、私は第二についてとてもよく分からないTechnical design in UML for AngularJS applications

+0

つまり、PageComponentがルーティングを使用してを定義して子コンポーネントに到達すると、依存関係を使用する必要があります。 – Mikkel

+0

オブジェクト(クラスのインスタンス)がリンクされている場合はアソシエーションを使用し、そうでない場合は依存関係を使用します。 Angularの用語で "リンクされた"という意味は議論の余地がありますが、PageComponentクラスがBookingComponentのインスタンスを参照するフィールド(メンバ、属性、プロパティという名前)を持つ場合、 PageComponentからBookingComponentを指す関連付け、そうでない場合は依存関係を使用する。 –

+0

さて、助けてくれてありがとう。私は子供のコンポーネントが重要で、を使っているので、結局それを結びつけることになった。 – Mikkel

0

1)依存性は、右のリンクです。連想配列そのものは、ある種の構造を運んでいるようです。この構造は、単一のクラスとして提示することができます。だから私はこの絵を思い付くしたい:

enter image description here

+0

を参照してください。 PageComponentはどこですか?つまり、PageComponentはBookingComponentの親ですから、何らかの接続が必要ですか?または私は何かが不足していますか? – Mikkel

+0

私はAngular2に慣れていません。 2番目の画像は@ RouteConfigの表現です。これはほんの一部の足場ですが、あなたのPageComponentに関連するその意味を推測することはできません。 –

関連する問題