2013-04-12 32 views
0

我有兩個類,一個用於聯繫人,另一個用於組織。每個聯繫人都屬於一個組織,並且組織可以有多個聯繫人。OOP示例 - 如何避免使用幫助程序類

我想要一個創建聯繫人的函數,其中一個參數是組織名稱。如果組織名稱已經存在,則聯繫人將被分配給該現有組織。否則,將在現場爲聯繫人創建一個新組織。

由於這個函數創建一個聯繫人,也可能創建一個組織,我的第一個想法是爲它創建一個輔助類,因爲它似乎不屬於任何一個類。我被引導認爲助手類在OOP中是不好的做法,所以我正在尋找其他的建議。你如何在不使用輔助類的情況下實現這個功能?

+3

你寫的代碼到目前爲止。 –

+0

誰告訴你助手類在OOP中是不好的做法?如果事實函數不是對象,那麼OOP以 –

+0

開頭。到目前爲止,代碼只是這兩個具有創建/刪除/更新對象功能的類。 –

回答

1

在OOP中定義什麼是好的做法是非常困難的,什麼不是沒有詳細查看具體情況。你聲明的考慮是正確的,這是我的回答那些:

Helper類並不一定是「不好的做法」在OOP

有相當多的情況下,在輔助類是要走的路。如果這些輔助類簡化您的設計,那麼它們實際上是有利的。

對象函數可能會創建其他對象 - 這並不意味着它必須進入輔助類。

如果您的聯繫人創建了一個組織,那很好。如果一個組織創建了一個聯繫人,那也沒關係。這兩個類是您的對象設計的一部分,並且可能相互依賴而不違反OOP中的任何設計規則。我不明白爲什麼你的代碼「應該」進入輔助類。

+0

感謝Hazzit,這是我尋找的答案類型 –