最近也一直在思考項目架構的問題,也看了一些資料,想了一些東西.比如什么IOC,SOA,WCF,倉儲模式,EF什么的.
想到最后還是覺得,適合自己的才是最好的.越是經典的才是越經受得住考驗的.
萬變不離其宗,代碼中最重要的還是不要有邏輯錯誤,不要有bug.
層分好了,代碼還要放對位置才是最重要的.
不同的架構只是架子不同,能夠用來錦上添花,卻不能雪中送炭.
所以我打算從實際出發,還是簡單的三層為基礎.以文件夾將模塊划分,為將來拆分留下伏筆.
最近在面試的時候,也都有聞到一些別的公司的框架是怎樣的.大部分還是三層架構,也有一些是一來注入的.
不過我覺得通過注入的方式替換BLL層99%的情況下是不需要的,反而會增加復雜度.
另外,現在很多項目都把業務邏輯什么的都寫到存儲過程里,這種方式想想就會麻煩,日后維護定是個恐怖的事情.
如果一個存儲過程達到上百行,我想除了當初寫它的人,第二個再碰他的人心理就有畏懼了吧.
很多時候整個項目的瓶頸都發生在數據庫中,業務程序可以通過增加服務器的方式解決,而數據庫就沒有那么簡單了
框架主要實現如下功能.
- 所有的dal層和bll層都有個基類,在基類里把所有的基本操作封裝起來.
- Service層,里面用文件夾區分了BLL與Facade,是用來給外部提供系統調用的,可以是wcf,也可以webservice,也可以webapi 的方式.
- Web 層可的數據,可以來自bll,也可以來自façade,因為不想划分更多的層,所以放在一個層里,使用了文件夾進行區分.
當然,缺點肯定還是有的,后續會隨着業務的發展不斷的調整架構,當前環境下適合的才是最好的.
參考資料:
http://www.cnblogs.com/jake1/archive/2013/05/07/3065592.html
http://www.cnblogs.com/jake1/archive/2013/05/03/3056357.html