16

我需要爲項目文檔的我的JSF應用程序繪製類圖。所以我有很多類作爲託管bean,因此有許多屬性,因此有許多getter和setter。我應該在類圖中包含getters&setters嗎?

當我繪製類圖時,我還應該在圖中包含getters & setter?或者我可以簡單地離開他們?

回答

14

將它們包括在內是不合適的。您可以再補充一條線說存取方法

+1

你能解釋一下你會添加那條線嗎?我沉浸在UML中,並沒有得到完整的想法。 – p2kmgcl 2014-03-23 07:49:46

+0

@JigarJoshi當我添加訪問器方法時,它自動傳入一個實體對象作爲參數。我該如何解決這個問題 – hyperfkcb 2016-04-01 02:38:22

+2

如果您使用的是工具,最好的方法是添加一個評論框,比如「常見的訪問器方法被省略」。 – atorres 2017-01-12 11:27:23

4

包括getter和setter將是一個壞主意。他們正在浪費「房地產」來複制已經在班級的屬性/屬性部分中顯示的信息。

3

你不應該在你的圖中包含getter和setter,直到他們做了一些特殊的事情:空檢查等等。但這是設計不好的標誌,所以一般的答案是「不,你不應該」。

+0

'直到他們做了一些特別的事情:空檢查等等。但是這是一個糟糕的設計的標誌'你的意思是在setter/getter中檢查null是不好的嗎? – 2011-03-09 12:57:28

+1

在某些情況下,空檢查不好,但它的使用方式。假設你在hibernate實體中有以下方法:getPerson(){if(person == null)person = new Person();返回者; }。這個方法隱含地創建了一個實體,但它不應該這樣做。 – 2011-03-09 13:02:51

+1

是的,這當然取決於設計和業務需求。 – 2011-03-09 13:05:22

0

UML是一種相當非正式的表示法,最好的做法是首先設置要在項目或組織中使用的規則。例如,通常隱藏獲取者和設置者,但有時顯示所有細節很重要。規則可能是這樣的:

如果您的財產是用一個私有變量和一對具有相同可見性的getter和setter實現的,那麼您只需使用此可見性創建一個財產。

如果你的屬性是用一個私有變量實現的,但是getter和setter具有不同的可見性,比如public getter和protected setter,那麼建議在模型中顯示getter和setter。

等兒子......