三層還是DDD,ORM還是Ado.Net,何去何從?

來源:互聯網
上載者:User

標籤:ar   sp   for   檔案   資料   問題   bs   cti   代碼   

我本想把這個問題放到博問去,前幾次有去博問問過之類的問題,無奈大神們可能都不屑回答別人的低級問題。所以放到隨筆裡,一方面把自己對ORM、架構的一些看法寫下來拋磚引玉,另一方面最主要的是想尋求大神們指指路。

現況緣由

公司的開發架構用了好些時間,團隊在開發過程中遇到了不少問題,需要革新,我自己也有新的開發架構要做。在選擇架構和選擇資料庫訪問手段時,遇到不少問題。

架構

我做ASP.Net有些年頭了,實際上這幾年看過的架構設計不少,但是用的最多的還是工廠三層,基本代碼全靠代碼產生器,僅代碼產生器就改良過不少次。項目做的多了以後,反觀自己的代碼的時候,就覺得BLL層實在無聊的很,而且有一個我不知道各位都有沒有存在的一個問題:F12不能直接定位到DAL層上。

於是我去尋找改良我現有架構的方法。

偶然有天部落格園的首頁充斥著DDD的文章,我去細觀了一下,想找些例子研究一下,可惜的很,但凡涉及DDD的,全是與EF有關的文章,我也留意到DDD解決了一些我存在的問題。但就是不喜歡任何ORM。

ORM

我不是從我知道ORM的時候我就抗拒ORM,實際上,我有認真看過一些ORM:

EntityFramework(EF)、NHibernate(NH)、Castle ActiveRecord(AR)、Linq for Sql

我首先就關注了EF,當時看的時候,還沒有聽過Model First這個概念,我拖來拖去,最後再看看VS給我產生的東西,內心很憋屈:我有強迫症,我建立類,如果我不能完完整整的控制它,哪怕是它在項目中的具體位置,我心裡就十分不舒坦。

更主要的是,截止我寫之前,我沒有找到任何EF能通過切換設定檔來達到相容MS SQL、Oracle、MySQL這三個資料庫的目的,如果你不接觸ZF項目,你估計很難理解我為什麼要這麼強調資料庫相容

 

用NH的糾結程度不下於EF,我實在受不了HQL和每一個表都有一個XML配置的問題,更主要的是,公司有採用NH做項目,但最後項目跑的慢的跟蝸牛似的,當然這可能跟以前的代碼寫不好有原因。

 

Castle的所有子項目裡面,我們用的有兩個,Windsor、Castle NVelocity,所以當AR擺在我面前的時候,有理由學習一下,但是NH已經那麼慢了,AR到底如何,我不敢草率做決定。

 

LinQ for Sql我就不說了。

求指路

說這麼多,是想各位給提點意見,我該怎麼辦,我的架構該怎麼改,我到底要不要選ORM,還是迴歸ADO.Net來追求速度.

三層還是DDD,ORM還是Ado.Net,何去何從?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.