2015-04-19 57 views
6

假設我們有幾個庫。核心庫和通用庫有什麼區別?應該如何認識和組織兩者的責任。常見與核心 - 差異

+Common 
    -Class1 
+Core 
    -Class2 
+Lib1 has : Common 
+Lib2 has : Core, Common 

應該常見是trurerly常見(所有庫使用它)?或者僅僅對那些需要它的人來說是常見的?

重構/創建項目時有什麼好的做法?

我真的不覺得核心和通用之間的diferrence。

+2

良好實踐:做一些有意義的事情,不要違反[最少突然出現的原則](http://en.wikipedia.org/wiki/Principle_of_least_astonishment),沒有很好的理由。你並沒有感覺到這種差異,因爲這是一個任意的決定。 – Jon

回答

7

我認爲這取決於你的特定應用了很多。在一個集中的應用程序中,我認爲CoreCommon文件夾之間可能會有一點重疊。但最重要的是,它是有意義的你的應用程序。不要因爲你在其他應用程序中看到這些文件夾而感到需要......

對於我來說,有一個CoreCommon文件夾在某些場景中很有意義 - 例如,一個帶有API和客戶端的Web應用程序。你可以有你的Core文件夾中的API側,其中核心執行(業務邏輯)發生,然後有一個Common文件夾中的一些事情,你的API和客戶雙方的需要 - 例如,HTTP請求驗證或Json轉換器。

無論如何,在其他類型的應用中使用CoreCommon文件夾可能是有意義的。
例如,Core文件夾將包含那些中央爲您的應用程序類 - 絕大多數的商業模型類的會在那裏。
Common文件夾,在另一方面,你可以有共享一些其他類,但不中央 - 例如,一個LoggerMessageSender可能在那裏...

至於你的小稿代碼結構,我認爲你的Core包待修改的一個 - 爲什麼Lib1不使用Core?如果是核心,通常是因爲其他一切都需要它才能運行。如果你沒有代碼中央,也許你可以刪除你的Core包,並只保留Common

至於你的其他問題 - 我不認爲Common東西必須所有其他的包,只是有2個或多個包共享的東西共享,可以考慮共同