0
我正在嘗試UML及其所有無聊的設計模式。 我有一個演員要求通過接口(邊界)登錄,我必須繪製一個控制器類後,我的界面和控制這個請求或接口就夠了嗎? 使用接口類作爲控制器類有什麼問題? 任何人都可以告訴我在哪裏我應該在我的序列圖中使用控制器類? 這是一個簡單的圖像:我可以在序列圖中繪製邊界類(作爲接口)而不是控制器類嗎?
我正在嘗試UML及其所有無聊的設計模式。 我有一個演員要求通過接口(邊界)登錄,我必須繪製一個控制器類後,我的界面和控制這個請求或接口就夠了嗎? 使用接口類作爲控制器類有什麼問題? 任何人都可以告訴我在哪裏我應該在我的序列圖中使用控制器類? 這是一個簡單的圖像:我可以在序列圖中繪製邊界類(作爲接口)而不是控制器類嗎?
在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..........
.....................................................................................
這是一個非常簡化甚至不完整的例子。它可以有更多的類交互,以及更多的類(「箭」)。但是,總的想法是看看如何互動。
有時,同一個類可能在內部具有控制器類的接口&的功能。
乾杯。
你使用哪個工具繪製UML圖? – vainolo
@vaindolo:我使用了一個Web非UML工具:http://www.asciiflow.com/ – umlcat