我的任務是完成一些關於如何啓動應用程序的重構工作。基本上我們有一些控制檯應用程序,這些應用程序依賴於GUI應用程序啓動代碼,從而導致僞造依賴關係,這些依賴關係具有我們需要發佈的庫以及其他模塊需要聲明的依賴關係的啓動效果。控制PicoContainer啓動的順序
因此,我寫了一個簡單的啓動框架,我基本上只是將一堆Runnable對象放入列表中,然後按順序運行它們 - 並且工作正常。
但是我在想 - 我們已經PicoContainer的在我們的項目,所以所有這些東西,需要在啓動時運行可能被扔進PicoContainer的,如果他們實施可啓動,他們將開始...
但在某些情況下,我們想要指定它們之間的順序。例如,我們不希望任何其他組件寫入日誌,然後再向日誌中寫入一個表示應用程序正在啓動的標頭。我知道我可以通過引入注入依賴來介紹排序,但是在這種情況下,這感覺就像是黑客攻擊 - 我需要添加日誌頭文件作爲每個可能寫入日誌的其他組件的依賴項,這不是很好所有。
儘管如此,它似乎是很好的控制PicoContainer啓動順序,所以也許還有其他方式?
或者我可以保持簡單並堅持我的Runnable列表。畢竟,它的確工作。
實際上,將啓動頭寫入記錄器的組件是一個獨立於記錄器本身的組件(單一責任原則,以及所有這些)。 – Trejkaz 2010-11-04 09:03:27