2010-08-04 41 views
0

假設我有一個帶有Web項目,BLL項目和DAL項目的Visual Studio解決方案。我試圖按照存儲庫模式保留我的SQL代碼與BLL引用的接口的DAL。如何在多項目解決方案中構建實用程序/伴隨項目

我有一些常見的解決方案,如錯誤處理,使用日誌記錄和其他可以被視爲實用功能(即不在業務規範中)的東西。我將這些保存在一個通用項目中。

這裏有一些想法,我已經受夠了關於構建公共項目...

  1. SQL捆綁在一個給定的類邏輯
  2. 創建公共項目中的分層解決方案
  3. 放棄Common項目並將實用功能與BLL/DAL配合使用

其中一個想法比其他想法更好/更差嗎?有沒有人有更好的解決方案?

值得注意的是,這些實用函數將在各種其他應用程序中重用。

+0

你能說清楚你的意思嗎?(將SQL與邏輯捆綁在一起...) – Nix 2010-08-04 12:41:11

回答

0

而不是創建將使用的實用程序項目您是否想過創建可以提供服務的東西?你可能想看看Aspect Oriented Programming。當我看到你列舉了你的例子錯誤處理,日誌記錄等等時,紅旗升起。那些尖叫的AOP。

但是如果你想堅持你的佈局。

我想我會和2一起去,假設這意味着重組公用事業項目變得更加凝聚力。

我不明白(請澄清,我會編輯自己的帖子)

  1. 捆綁SQL與邏輯在​​給定的類

至於:

放棄Common項目並將實用功能與BLL/DAL

我會反對這樣做。如果這個邏輯真的要重複,就沒有必要把它推回到你的項目中。這將導致重複的代碼和增加的維護。

側面說明:

正如一個教訓,只有公用事業項目的工作方式,是如果你是唯一的開發這是有據可查的,精心設計的。有時候,實用程序對程序員來說太具體,或者只是以一種特定編碼器風格的方式編寫。 我已經看到無數次人們重新調整他們的基礎設施,從中抽出各種公用事業,只是看到他們的公用事業項目永遠不會被使用。確保你創建的「工具」對其他人真正有用。

相關問題