1. 程式人生 > 其它 >c#一個專案拆分成多個專案並相互引用

c#一個專案拆分成多個專案並相互引用

1、一直很不解,為什麼一個c#專案要拆分成DAL一個專案,UI一個專案,service一個專案,然後相互引用,類似下圖的這種結構。

直接把ui,dal,service全部放到一個專案不也好了,用資料夾區分不就好了,為什麼還要新建專案呢???,網上說是為了模組化、分層。

其實我看了也是略懂略懂~

我個人的理解是對於小專案,我個人是不喜歡分層的,直接寫到一個專案裡面就好了。但是對於一些大專案,分層的必要性就出來了。

比如:一個專案中,有頁面的操作、有api、還有一個其他的。有人喜歡把頁面跟api合併到一起放到一個專案中(當然這樣也可以)。對於一些大的專案,最好把頁面和api作為兩個專案分開來。

這時,頁面的操作和api肯定有重複操作的部分了。重複部分怎麼辦呢?不可能在頁面操作寫一份,api也寫一份吧?(多麻煩)。所有這時候的模組化就出來了,把重複的部分抽出來,寫到一個專案中(例如dal)。然後頁面操作與api直接引用這個dal就好。

其實這個跟Java的maven專案是差不多的,maven專案也是把dao、service、web層分為三個專案,然後dao、service最終打包成一個jar包給web使用。當然,dao和service也會互相引用。

其實對於一些工具類,幾乎好多的專案/小程式都會用到的,比如資料庫的連線,這些東西可以直接抽出來作為一個專案的,然後給其他的專案直接引用即可。這樣挺方便的。

下面我寫了個小例子

1、新建一個winform專案

然後新建一個DAL的庫(右擊解決方案-》新建專案-》選擇下圖的)

隨便寫點

然後在UI專案中引用

點選引用-》新增引用

找到DAL即可

然後在UI中就可以直接使用了