在Uml序列圖中,我們是否應該包含一個類的私有函數?在Uml序列圖中,我們是否應該包含一個類的私有函數?
回答
顯示在UML序列圖的私有方法是不可行的。我認爲我們應該只顯示公有方法吧..
不可以。您希望能夠在不影響外部任何內容的情況下更改內部(私人)操作。
如果您重構內部操作,那麼依賴於公共API的所有內容都應該不受影響。我會在這裏包含文檔。
編輯:更多的解釋,要求
你想客戶端類依賴於你的類的公共API。因此,你應該只記錄你的班級的公共元素。您希望在需要時自由地更改內部(私有)操作,而不會影響任何相關實體。
請你多探討一下.. – 2009-09-23 12:29:14
用於封裝。 – Rap 2009-09-23 12:40:46
序列圖是交互圖之一,所以,恕我直言,你應該避免包含私人函數。
一般是躲在士兵是你想做的事,因爲UML旨在顯示給定系統/模塊的公共API是什麼。雖然它也取決於UML的目的,但如果UML是供你自己使用的,而且當你看圖的時候你想看到這些人,那麼是的,就把它放在那裏。我已經打印出一些UML代碼,所以我可以看到它們,但那是爲我而設計的,並不是爲其他用戶提供的文檔。
(以下答案假設您並未嘗試尋找可執行模型 - 即從UML生成代碼 - 但使用模型來幫助規範工作,這將由人員完成。)
所有型號都是「錯誤的」,但非常有用。根據定義,模型是對你正在嘗試構建的東西的不完整描述 - 爲房子和完成房子考慮藍圖。通過這種建模,模型應該只顯示您正在嘗試構建的系統的關鍵方面。
構成關鍵方面的是什麼?答案是,無論團隊需要知道如何構建真實的東西。在房屋藍圖中,電工只需知道插座的位置,以及關於負載和互連的一些關鍵細節。他不需要一個連接插座的模型;他知道。
因此,如果您的團隊需要了解私人業務,那麼請繼續前進並對其進行建模。在順序圖中,您可以通過向班級生命線發送一條消息返回自己來顯示自己的電話。
但是,如果私人操作不重要,請隨意將它們作爲無關細節離開序列圖。但是,我會建議您至少在模型中的類元素級別記錄所有操作。即使你只是給這個操作命名,你也記錄了一個事實,即你需要在某個時候填寫它。
- 1. 我們如何確定函數應該包含在哪個類中
- 2. 我們是否應該在一個div中包裝Facelet區域?
- 3. 我應該在類中包含另一個對象還是另一個類的子類?是或是否?
- 4. 我是否在UML用例圖中包含了時間事件?
- 5. 我們是否應該在PHP代碼覆蓋範圍的@covers中包含私有方法
- 6. 列表是否有一個簡短的包含函數?
- 7. 我是否應該在派生類中有一個構造函數?
- 8. 當類聲明爲包私有時,我們應該聲明一個公共構造函數嗎?
- 9. 是否有一個包含Python中函數參數的字典?
- 10. 我應該測試一個Javascript插件的私有函數嗎?
- 11. UML:包含靜態函數
- 12. 我們應該在E-R圖中包含所有數據庫表嗎?
- 13. 我應該如何解釋UML類圖?
- 14. 我的所有參數是否應該在構造函數中?
- 15. 我們是否應該聲明一個集合類或接口?
- 16. 我們的程序中是否應該有後門?
- 17. 我應該怎麼稱呼一個包含狀態序列的類
- 18. 私人類的構造函數是否必須是私有的?
- 19. 視頻 - 我應該將它們包含在我的應用程序中嗎?
- 20. 對於C++中的靜態類(帶有私有構造函數),我應該定義一個析構函數嗎?
- 21. 排序基於類的私有成員包含類的列表
- 22. PHP - 我們應該在會話中包含哪些數據?
- 23. 我應該如何在MS PowerPoint 2007中嵌入/包含Enterprise Architect UML圖?
- 24. 在perl中調度函數,如何包含我們的列表
- 25. PHP:我如何在一個類中包含這個函數?
- 26. 一個類應該包含多少行?
- 27. 我正在繪製購物網站的UML用例圖,是否應該包含「管理購物車」?
- 28. 是否可以在接口中聲明一個私有函數?
- 29. 如何創建類,即中有一個列表,該列表應該包含兩個不同類型的對象
- 30. 是否有一個存在()或包含()函數爲一個數組
有你問這個特定原因?這不是一個真正的編程問題,並且具有課程工作問題的空白。 – Lazarus 2009-09-23 12:33:50