73. 謹慎地使用擴充關係(Apply Extend Associations Sparingly)
--------------------
我認為無論是包含關係或是擴充關係,都要謹慎使用,因為它們不僅容易造成使用案例圖面上的複雜度,更多時候還因為不當地過度使用,使得原先完整的使用案例被切割的七零八落。
--------------------
74. 描述相似的企業邏輯時,適用一般化關係(Generalize Use Cases When a Single Condition Results in Significantly New Business Logic)
--------------------
什麼叫「相似的企業邏輯」呢?可以說,兩個使用案例描述相同的企業邏輯,但是彼此之間又有細微的差異時,比較適用「一般化關係」(generalization relationship)。
以自動櫃員機為例,我們來看下面三個小範例,不用我多加說明,您絕對可以判斷出來哪一種狀況具有相似的企業邏輯,如下:
- 查詢餘額、檢驗晶片金融卡,兩者相似嗎?
- 提款、列印收據,兩者相似嗎?
- 轉帳、跨行轉帳,兩者相似嗎?
很好辨識相似的企業邏輯吧,跨行轉帳是轉帳的一種,它們兩個當然具備相似的企業邏輯。請看到圖50,一般化關係是一個帶大三角形的實線,從較一般化的父用例(super use case)指向較為特殊化的子用例(sub use case)。因此,我們可以說,本行轉帳和跨行轉帳都是轉帳的一種,它們與轉帳之間都具備有相似的企業邏輯。
圖50: 一般化關係
再多看個例子,在購物網站的範例中,我們可以選擇信用卡刷卡結帳或者ATM轉帳結帳,不過它們都是一種結帳方式及過程,所以在這個範例中,我們可以使用一般化關係,如圖51所示。
圖51: 刷卡結帳或轉帳結帳
<上一篇><下一篇>

0 回應:
張貼意見