2012-07-03 46 views
0

我正在嘗試UML及其所有無聊的設計模式。 我有一個演員要求通過接口(邊界)登錄,我必須繪製一個控制器類後,我的界面和控制這個請求或接口就夠了嗎? 使用接口類作爲控制器類有什麼問題? 任何人都可以告訴我在哪裏我應該在我的序列圖中使用控制器類? 這是一個簡單的圖像:enter image description here我可以在序列圖中繪製邊界類(作爲接口)而不是控制器類嗎?

回答

1

在U.M.L.序列圖您可以使用任何類,即「接口」,「控制器」或「數據訪問」或更通用的類。

正如許多軟件分析師認爲的那樣,僅僅因爲一個類是「邊界」/「接口」或「數據訪問」類,並不意味着它不會做任何操作。

取而代之的是,「接口」類執行限於其自身功能的操作,如計算要繪製的窗口區域,或執行「數據訪問」類來對列進行彙總。

..................................................................................... 
..+-------------+....+---------------+....+----------------+....+-----------------+.. 
..| <<actor>> |....| <<interface>> |....| <<Controller>> |....| <<Data Access>> |.. 
..| User  |....| LoginWebPage |....| LoginWebPage |....| LoginWebPage |.. 
..+------+------+....+-------+-------+....+--------+-------+....+---------+-------+.. 
.........|...................|.....................|......................|.......... 
.......+-+-+...............+-+-+...................|......................|.......... 
.......| |...Enter().....| |.Draw()............|......................|.......... 
.......| +==============>+ +====+..............|......................|.......... 
.......| |...............| |....|..............|......................|.......... 
.......| +<--------------+ +<===+..............|......................|.......... 
.......| |...............| |...................|......................|.......... 
.......| |...Login(......| |...................|......................|.......... 
.......| |...UserName,...| |.................+-+-+..................+-+-+........ 
.......| |...Password)...| |...Validate()....| |..Seek(UserName)..| |........ 
.......| +==============>+ +================>+ +=================>+ +===+.... 
.......| |...............| |.................| |.......User.......| |...|.... 
.......| |...............| |.................| +<-----------------+ +<==+.... 
.......| |...............| |.................| |..................| |........ 
.......| |...............| |.................| +===+..............+-+-+........ 
.......| |...............| |.................| |...|.Compare()......|.......... 
.......| +<--------------+ +<----------------+ |<==+................|.......... 
.......| |...............| |.................| |....................|.......... 
.......+-+-+...............+-+-+.................+-+-+....................|.......... 
.........|...................|.....................|......................|.......... 
.........X...................X.....................X......................X.......... 
..................................................................................... 

這是一個非常簡化甚至不完整的例子。它可以有更多的類交互,以及更多的類(「箭」)。但是,總的想法是看看如何互動。

有時,同一個類可能在內部具有控制器類的接口&的功能。

乾杯。

+0

你使用哪個工具繪製UML圖? – vainolo

+0

@vaindolo:我使用了一個Web非UML工具:http://www.asciiflow.com/ – umlcat

相關問題