2013-02-08 82 views

回答

2

通常,您的子類知道超類,但您的超類不知道有關子類的任何信息。其原因是爲了避免讓超類依賴於子類。更少的依賴性使代碼重用更容易。

有時候,它會讓事情變得方便,打破該規則,讓你的超類知道子類並創建它們的實例,但在其他情況下,這是不可能的。例如,當您創建第三方庫的擴展時,無法編輯庫中的超類,您必須擴展它。這是很好的設計,因爲它可以防止他們的圖書館依賴於你的擴展。在較小的項目中,它可能不那麼重要,但是對於較大的項目,避免不必要的依賴關係可以重複使用一段代碼,而無需拖拽大量不需要的類。

+0

感謝您絕對完美的答案。現在我知道我爲什麼要使用工廠。 – 2013-02-08 20:13:43

+0

你也可以檢查這個問題嗎? – 2013-02-08 22:22:16

+0

對不起,我原諒了鏈接,http://stackoverflow.com/questions/14781518/what-is-the-right-way-to-implement-factory-pattern – 2013-02-08 22:23:15