2011-02-02 50 views
1

我想知道你認爲的幾種方法什麼有做到這一點:交流意見3個應用

  1. 使用符號連接的共享文件

  2. 創建寶石/插件提供共享文件和代碼

  3. 創建拉從所需的應用程序的意見/泛音,並將其存儲在緩存中的Web服務

我的目標是降低大型應用程序的複雜性。比方說,我想建立一個在線社區,我想要一個應用程序來處理論壇,另一個應用程序來處理用戶畫廊等,另一箇中心的應用程序管理用戶併爲其他應用程序提供通用視圖。

所以,主應用程序必須提供一個通用的佈局和小部件的所有其他人,每個應用程序都需要提供一些意見,主應用程序了。

例如,假設該佈局具有爲每個應用程序的項目的主菜單,每個項目都有一個超大的子菜單,所以我不能只是有標籤和URL對的簡單列表。

因此,或許主應用程序會詢問每個孩子的應用程序通過一個私有API提供的菜單項目和內容,建立菜單,保存在緩存中的輸出,當問及發送完整的菜單給各應用。

正如你所看到的,我已經傾向於選擇3,但我想對我的方法的一些反饋,如果也許有更好的方法。

感謝您的輸入。

回答

1

從你所描述的,它聽起來像你應該使用一個單一的Rails應用程序。觀點的相互依賴性使我認爲你可能從這種方法中受益。我也想象測試會變得更加困難,因爲你的'應用程序'將跨越三個實際的Rails應用程序。

這就是說,如果你正在使用三個應用程序設置,我會建議不要使用和API。 API非常適合來回傳遞數據(json,xml ...),但它們不太適合查看。我的建議是創建一個通用視圖插件,可以將其存儲在單獨的git存儲庫中,並在每個應用程序中使用。通過這種方式,通用代碼在應用程序之間共享,但它們仍然可以在本地訪問。

+1

我的應用程序要複雜得多,我只是用它作爲例子:)我越去想它做什麼,我知道你是對的,我用的插件更好,因爲Web服務需要大量的更復雜,就像我不得不緩存在主控和兒童應用程序中,以防其中任何一個出現故障。 – Ivan 2011-02-02 17:43:36