成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析基于.NET平臺的Web框架搭建

開發 后端
本文將介紹的是基于.NET平臺的Web框架搭建,希望通過本文能對大家在.NET平臺上的開發有所幫助。

本文將介紹的是基于.NET平臺的Web框架搭建,筆者最近基于ExtJs和ASP.NET MVC做了一個系統.來總結下.一起討論下.

一.技術分析

1.web數據傳輸

ExtJS作為前端UI展現層,傳輸數據格式為Json或者xml,一般大部分為Json.

2.ASP.NET MVC

(不要考慮太多mvc其他特性,controller+method就夠了)的和路由url很好的符合了這一要求,實現起來很輕松.

3.選一款依賴注入容器

只要你好好學過一款Ioc組件,概念都還是一樣的,做法不同而已,我選的是微軟的Unity,

這里我并沒有把Service配置在xml中,根據我的理解,大部分軟件并不需要這么靈活,我就純注冊就夠了(其實往往是這樣,我們可以問問自己,我們用到了多少功能).因為大部分都是注冊一次,永不修改的…真的有必要的時候可以提出

代碼

Ioc組件很多,個人認為比較強大的還是spring.net,功能非常豐富,還有AOP功能,最主要的是其可以和其他組件結合的很好.

容器作為底層服務,主要就是為我們提供靈活性.想辦法與現有組件結合,注冊相關服務.

4.數據庫操作(NHibernate)

3年前我會選ADO.NET

2年前我選Microsoft.Practices.Data.Application

1年前我選linq to sql

現在我選nhibernate

關于NHibernate映射

(1)若你是初學者,乖乖的自己手動配吧

(2)若你喜歡linq的,有一款FluentNHibernate可供選擇(用新技術請考慮風險,玩的沒關系)

(3)若你映射配置文件玩的很熟悉了,就用NHibernate.Mapping.Attributes掛標簽自動生成吧(不推薦用什么代碼生成器,都是要重新改的)

5.比較java web經典平臺

比較慶幸,之前有接觸過java,java的web編程架構很穩定,3年前如此,現在還是一樣,不同的只是版本升級而已,這點.net程序員比較慘的.這也見證了spring,hibernate,struts(webwork)在目前而言是***的拍檔.

換成.net平臺也就是spring.net(Ioc容器)+nhibernate(orm)+asp.net mvc

spring.net和nhibernate都屬于java移植產品,所以應該來說資料是非常的多,想學習的人,應該把眼光放到java社區中,收獲會很多的,稍微比較下c#和java語言就好了(千萬別學了就跑去學java了:)).

asp.net mvc對比struts而言,方便了很多,但不同的是java附產品比較多,像asp.net mvc這樣的框架,java也有些框架已經開始改進了(看到過,基本上理念是一樣的).

當然這里均采用的開源路線,大家也可以采用微軟自家平臺的技術.

二.技術串聯

1.注冊容器

2.初始化Nhibernate

image

我們都知道Ioc是可以與asp.net mvc結合的

image

3.Nhibernate與容器配合法

(1)Nhibernate與spring.net的結合,這里已經有經典例子在了,何謂經典例子,就是大家都這么干,而且也沒出什么問題,我也就這么干,確實有點道理的…雖然有時候真不懂為什么這么干。。。呵呵
(2)用單例的方式在應用啟動時注冊,如上法
(3)Nhibernate若映射換FluentNHibernate的話,或者加入linq to nh,則整個設計就要重新考慮了

我想上面的設計有點意思,特別是加入了linq to nh我的設想是這樣的

(1)簡單查詢用linq to nh
(2)hql主打,標準查詢輔助…
(3)若由于對nh框架不熟,導致查不出來,或者遇到速度慢,先上t-sql(原因一般都是自身學的不好造成的,先懷疑自己,懷疑不下去了再去懷疑框架本身…)

三.項目細分

 

這里忽略分布式應用,我沒具體搞過…

  1. Entity項目一個
  2. Service接口項目一個
  3. Service接口默認實現項目一個
  4. Domain項目一個
  5. 主體輔助類項目一個(放雜七雜八用的)
  6. 測試項目一個(可選)
  7. web相關項目一個(放與web相關的和controller)
  8. web主打項目一個(運行項目,主放js用…)


基本上最基本的就是這樣,你可以細分,也可以把上面很多項目合并為同一項目.

若想靈活就多用反射與配置文件

四.細化

若要完成一般的數據增刪改系統的話,我們還可以稍微細化封裝,這樣的封裝是很方便的.

1.沒有絕對的靈活,需要一定的耦合,ext框架對于后端請求的json數據有一定要求,所以數據轉換在所難免,所以準備一些通用的數據類型轉換的功能

2.對于千篇一律的數據增刪改,若無特殊的業務邏輯,可考慮借助asp.net mvc和反射功能完成,這樣一個controller的設計可以代替很多個.

3.在傳json時勿使用延遲加載等特性.

4.一個hql配置系統,不要因為某一查詢條件改了而重新編寫代碼,可以考慮做個機制,把hql語句提取出來

5.巧用nhibernate攔截機制,日志必不可少

6.一套穩定的權限機制

7.對于ext,要有一套js加載機制

總結起來細化的都是對于不同需求而變化設計的.

如果不是很難的項目,花一段時間實踐,這種搭配很容易學會.

接下來重點還是回到.net framework來學習.

原文標題:基于.net平臺的web框架搭建

鏈接:http://www.cnblogs.com/Clingingboy/archive/2009/11/10/1600554.html

責任編輯:彭凡 來源: 博客園
相關推薦

2009-07-28 15:53:43

ASP.NET Web

2009-02-03 09:15:20

C#VB.NETLinq

2009-08-10 18:24:29

ASP.NET開發環境

2009-07-28 17:02:10

ASP.NET運行環境

2019-10-09 11:26:01

JavaXMLSQL

2009-07-29 16:41:45

ASP.NET頁面框架

2009-07-29 11:25:40

2023-11-03 08:04:47

Web微前端框架

2009-08-07 17:41:07

ASP.NET Web

2011-04-01 09:06:49

WebDAV協作平臺

2009-08-13 17:52:27

C#數據采集

2018-06-15 20:44:40

Hadoop數據分析數據

2011-04-06 13:39:18

2023-06-19 07:54:37

DotNetty網絡通信框架

2010-01-12 17:32:40

ARM平臺

2009-08-21 17:41:07

.NET平臺構成

2009-07-30 16:02:53

2012-03-07 11:30:09

PhoneGapWindows Pho

2009-08-21 16:55:10

.NET框架與XML

2009-07-27 10:18:12

TypeResolveASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美亚州 | 精品一区二区三区av | 亚洲精品一区av在线播放 | 久久aⅴ乱码一区二区三区 91综合网 | 美女久久| 日本高清中文字幕 | 九九热免费在线观看 | 成人在线视频观看 | 久久久久久国产精品三区 | 国产精品视频久久久久久 | 欧美啪啪| 一级黄色片免费 | 91小视频在线 | 亚洲精品2| 99久久精品免费看国产高清 | 四虎永久免费黄色影片 | 最近最新中文字幕 | 欧美不卡在线 | 亚洲综合婷婷 | 亚洲电影一区二区三区 | 播放一级毛片 | 一区二区三区视频免费观看 | 久久成人精品视频 | 亚洲成人99 | 午夜精品久久久久久久99黑人 | 国产欧美一区二区三区久久 | 成人免费一区二区三区视频网站 | 人人射人人插 | 国产日韩欧美激情 | 91在线视频播放 | 天天爽天天操 | 久久一 | 91精品国产自产精品男人的天堂 | 综合久久综合久久 | 一区二区三区精品在线 | 日韩一区二区在线看 | 欧美日韩中 | 久久国产精品免费视频 | 亚洲成人观看 | 日韩午夜激情 | 成人在线视频观看 |