是否有任何可用於Scala的UML工具?我的問題的原因是它的功能和OO概念的混合,因此我想知道這些工具如何表示UML圖中的功能。Scala的任何UML工具
回答
這thread總結了所面臨的任何UML工具,希望代表Scala類的障礙:
- 有混入的UML沒有正式表示
- 也很難代表:
- 關閉
- 斯卡拉類型成員
- 類構造函數參數邊界(又名。 「模板 類型」 邊界/約束)
- 協變和逆變類構造函數繼承
- (一類或性狀和 同伴對象
本文之間的關係「Evaluierung des Einsatzes von Scala bei der Entwicklung für die Android-Plattform」,pdf,德語)的確爲特質混合素和其他特定的元素添加了定型(第146頁)。
什麼被明光Rachimow 2009年新增:
屬性,getter和setter
對於所有已發佈的屬性存在隱式getter(
attribute1
和attribute2
),除能見度被宣佈爲private
(attribute3
)。如果發佈的屬性使用原型Var
進行標記,則它們是變量,存在隱式設置器(attribute2
)。刻板印記lazy
將實例變量標記爲懶惰(attribute4
)。
類和泛型
像UML,泛型類都標有一個抽象類型。通過使用Scala語言語法,可以爲此類型聲明上限和下限(
EineKlasse
)。可以使用結構化類型作爲邊界,該屬性和方法由花括號(EineKlasse2
)包含。方括號的通用類型參數包含在方括號內(operation
)。
性狀
性狀顯示像抽象類和標有刻板印象
trait
。抽象屬性和方法以斜體顯示(attribute2
,operation2
)。對於抽象屬性,依賴性箭頭可以使用原型requires
(Trait3
,attribute3
)進行標記。另一方面,原型self
用於自引用類型(Trait4
)。如果一個特徵繼承了另一個特徵,繼承將顯示一個繼承箭頭(Trait2
)。如果一個類擴展特徵(Klasse
),也使用此箭頭類型。爲了強調特徵的「混合」,繼承箭頭可以用刻板mixin
(Klasse
)標記。
單一對象
的Singleton對象被顯示等類和具有標記原型
singleton
。有可能存在兩個具有相同名稱的類元素。事實上,它是一個單身物體,屬於伴侶類。在這種情況下,依賴性箭頭標記爲原型hasA
。
剛剛測試了Green UML Eclipse plugin。幾個月前它不能正常工作,但是在2012年4月的Scala IDE夜間版本中),你可以得到某種類圖。看起來很有希望。
- 1. 任何Silverlight UML圖表工具可用?
- 2. Eclipse UML工具
- 3. 任何人都可以推薦任何具有驗證的UML工具
- 4. UML to Java工具?
- 5. UML到SQL工具
- 6. 是否有任何允許隱藏實體的UML工具?
- 7. UML工具與UML 2和UML 1.x一起工作
- 8. Moose Perl的UML工具
- 9. 創建UML的工具
- 10. UML生成工具NetBeans的
- 11. 簡單的UML工具
- 12. UML-RT建模工具
- 13. UML diff工具有哪些?
- 14. 免費在線UML工具
- 15. UML數據關係工具
- 16. 設計UML類圖工具
- 17. TopCoder UML工具:如何創建Swimlanes?
- 18. Scala的EMF/UML和OCL API
- 19. 尋找逆向工程UML工具
- 20. 免費的UML工具,理想的.NET
- 21. 用於QT信號和插槽的任何類似UML的建模工具?
- 22. 來自Java源代碼的Uml工具
- 23. C#中的UML代碼生成工具
- 24. 基於腳本的UML繪圖工具
- 25. 用於Java + Playframework的UML建模工具
- 26. 免費的UML繪圖工具
- 27. 類似於USE的UML工具
- 28. Linux中最好的UML設計工具?
- 29. 用於Python的uml/class設計工具?
- 30. scala項目中是否有任何OWASP檢查工具?
其實這篇論文的鏈接不起作用。 –
@PeterSchmitz:我已修復該PDF文件的鏈接。 – VonC
@VonC如果你可以爲特徵類圖添加scala簽名(或骨架),它真的會幫助我(也可能是其他人)。 (例如'特質Trait2延伸Trait'等等。) – dips