2013-10-22 87 views
0

我最近嘗試了Android中的AndroidAnnotations。它有許多有趣的選項,我喜歡它減少樣板代碼的方式。AndroidAnnotations Singleton Scope

但是最近我遇到了自定義類的單例範圍。我注意到AndroidAnnotations並沒有限制我創建一個新的實例。例如CustomClassA obj = new CustomClassA();即使CustomClassA的範圍是單例。

據我所知,這應該被限制爲單身模式。我想有一個解決方案來解決這個問題。

回答

2

AndroidAnnotations永遠不會更改原始代碼。

因此,開發者應該對原始類進行構造函數的保護(或友好)。它不能是私有的,因爲生成的類擴展了原來的類(所以它必須在這個類中可見)。 而構造函數對生成的類是私有的:)

+0

那麼你認爲使用我們自己的singleton實現會比使用Android Annotations提供的singleton scope選項更好嗎?因爲我不希望別人錯誤地創建該類的新實例。 –

+0

如果您確實想要阻止您的bean的直接實例化,您可以:1.使構造函數受到保護,並將該類移入子包中; 2.與團隊定義嚴格的開發人員指南; 3.不使用EBean註釋(但是你必須自己進行注射,並且所有註釋在本課程中都不可用)。在我所有的項目中,我們定義了一些指導方針,並且每個人都堅持。我們從來沒有因爲這個問題。 – DayS

+0

好的..謝謝:) –

相關問題