圖 2 是 List Cars 用例的活動圖。當(dāng)用戶請求汽車列表時,應(yīng)用程序得到數(shù)據(jù)庫中的所有汽車。圖中第一個狀態(tài)的 getAllCars() / defer 是對控制器類方法的引用。圖中的過渡把 Collection 傳遞給下一狀態(tài),這將在應(yīng)用程序界面上顯示數(shù)據(jù)。在第二個狀態(tài)之后,用戶可以選擇 Add Car 或 Remove Car,或者再次列出汽車。
圖 2. List Cars 用例的活動圖
在圖 3 中可以看到 Add Car 用例的活動圖,它有點不同。在這個圖中,最有意思的部分是從 Enter New Car 到 Store New Car 的過渡。過渡有一個信號,叫做 addNewCar,它有三個參數(shù)。使用這個信息,AndroMDA 可以知道 Web 界面需要從用戶請求這些參數(shù)。在圖的最后一個狀態(tài)中,我用控制器類的 createCar() 方法把數(shù)據(jù)傳遞給應(yīng)用程序的業(yè)務(wù)邏輯。