當我在我們的網站中優化我們應用程序的架構時,我遇到了一個問題,我不知道最佳解決方案。業務邏輯分離
現在,在目前我們有基於此結構的小DLL:
Database <-> DAL <-> BLL
的dal使用業務對象傳遞給BLL,將它傳遞給使用該DLL的應用程序。
只有BLL是公共的,因此任何包含此dll的應用程序都可以看到bll。
一開始,這對我們公司來說是一個很好的解決方案。 但是,當我們在該Dll上添加越來越多的應用程序時,Bll越大。現在我們不希望某些應用程序可以從其他應用程序中看到Bll邏輯。
現在我不知道最好的解決方案是什麼。
我認爲的第一件事是移動並將bll分隔到其他dll中,我可以將其包含在我的應用程序中。但是,那麼Dal必須是公開的,所以其他的dll可以獲取數據......而且我似乎是一個很好的解決方案。
我的另一個解決方案,就是在不同的命名空間中分隔bll,並且只包含應用程序中需要的命名空間。但是在這個解決方案中,如果你願意,你可以直接訪問其他的bll。
所以我在徵求你的意見。
您關心的是易用性還是安全性?即,您是否希望API的用戶能夠輕鬆地找到並使用他們感興趣的BLL方法,或者您是否希望阻止訪問某些方法?或兩者? – 2010-05-11 15:34:55
很高興設置正確的答案。 – Erup 2010-05-21 16:04:17
@ Tuzo:這很容易找到合適的bll,並且他們不會對其他bll做任何錯誤。對於遲到的回覆抱歉,在這裏沒有看到您的評論。但謝謝你的問候!我不是一個普通的問題,而是一個普遍的問題。我不認爲有一個真正正確的答案。但所有這些答案都幫助我解決了這個問題。我很高興。 對於遲到的回覆感到抱歉。 – bruno 2010-06-03 07:21:58