[轉貼] 透過檔案連結的方式達成多個專案整合以及程式碼共用 (使用Project Linker)

2018070810:39
出處:http://www.thinkpower.com.tw/xamarin/Article_01.aspx?idx=01

程式碼共享:在設計時,將與平台無關的商業邏輯、服務存取、資料存取以及資料層從介面抽離出來,如下圖所示:

底下說明如何才能達成上述的專案整合以及程式碼共用,首先來看看架構示意圖:

從上述的示意圖,我們可以看到,左半邊是可以抽離出來的共用程式碼,這部份將獨立成一個專案,並只加入常用的組件(如Base Class Library),若有部份程式碼使用到與平台相關的組件或技術,可以在程式碼中加入條件式編譯的指示詞,供各平台直接使用,不需要進行修改。
而在各平台的專案中,可以透過檔案連結的方式,將共用程式碼的部份連結到各平台專案。但由於目前Visual Studio並沒有提供可以同時設定多個檔案或整個資料夾連結的方式,因此若每個檔案都要手動連結,其實是較不實際的。而且日後共用程式碼專案若有檔案的異動,如新增或刪除。各平台專案並不會同步更新。此時我們可以透過1個叫做”Project Linker 2012”的擴充功能進行協助(它也有對應Visual Studio 2010的版本).

安裝好Project Linker後,我們便可以在各平台專案點擊滑鼠右鍵=>Add project link

接著選擇來源專案,之後便會為來源專案的每個資料夾及檔案進行連結.

連結的檔案在Visual Studio中都會有個藍色箭頭的圖示

透過上述的設定後,便可以在各平台專案共用程式碼。在開發平台專案時,只要針對使用者介面以及針對控制項的操作撰寫程式即可。對於商業邏輯,資料存取的部份則可以在各平台共用