2010-04-27 70 views
0

這裏是我們的依賴關係樹:BigApp - >子應用程序 - >庫一個設計,以避免循環引用在此方案中

ALL我們的部件被大量使用的庫中的一個作爲上述(LIBA)。 但它有'少''公開的方法,需要'更高級別'的程序集,我們想避免CIRCULAR引用。 你對此有何建議?

+1

您沒有提供足夠的信息來解答此問題。 – 2010-04-27 20:47:52

+0

我相信你需要提供更多關於你的類的信息,很難判斷你是否和如何處於循環引用的危險之中(以及如何處理它),而無需知道你的類是什麼樣的。 – stakx 2010-04-27 20:48:30

回答

4

避免這種情況的一種典型方法是創建一個不依賴於任何內容的接口。然後BigApp和LibA都可以依靠這個接口。 BigApp可以提供接口的具體實現,然後在使用之前將該對象傳遞給LibA。

2

根據具體情況,您可以定義接口來抽象一個或多個類的某些功能。然後您可以引用您認爲可能導致循環依賴的接口。