silverlight專案開發準則

2022-03-15 11:28:02 字數 1870 閱讀 8841

量使用**控制;

可能早的計畫好所有的使用者控制項;這樣可以提前預期控制項之間相互運作情況,便於整合專案;

試分割不同功能到不同的使用者控制項; 現在無論國內國外,開發隊伍通常來說都是3個人以上,分割不同功能到不同的使用者控制項,可以減少相互之間的衝突和影響; 另外,在測試的時候發現問題,對於不同的小功能區域,方便bug定位;另外也方便功能模組的再利用。 這個是現在web專案開發的乙個常用規則。

量少用loaded事件;

始化的問題; 在每個使用者控制項中,需要建立initialize和deinitialize公共方法。  在實際專案中,你可以把event handlers或者必須要執行一次的**,新增到initialize方法中; 另外,也可以不用新增新的建構函式,直接傳遞引數到initialize方法,通過new myusercontrol()使用這些引數; 最後,你可以使用deinitialize方法清空控制項,如果你呼叫了需要自定義的控制項,使用deinitialize方法是非常必要的;

要在xaml新增event handles; 因為xaml是屬於前台設計人員,而event handling屬於開發人員,所以,event handler非常容易使用**進行新增;另外乙個原因,如果你使用**新增了乙個event handler,當該事件的控制項名稱改變或者該控制項被刪除,編譯器會提出錯誤說明; 但是如果把event handler放在xmal,當該事件的控制項名稱改變或者該控制項被刪除,專案將返回乙個常規異常,沒有詳細錯誤資訊提示;

真設計專案布局; 我專案起步時,浪費了許多時間,在專案布局上,如果,布局合理,一定能節省很多開發時間;這樣就需要開發人員對grid,stackpanel,canvas,border,popup,scrollviewer,dockpanel等布局控制項有深刻的了解;通常,你會發現,grid非常適合做header,footer,sidebar等等; 而複雜的布局結構,建議使用canvas,需要注意的是,如果canvas的高和寬是固定的,這樣就很容易造成布局混亂,這點一定要注意;如果需要調整子控制項的布局,推薦使用stackpanel;設計silverlight專案布局,通常我們習慣使用expression blend,但是,強烈建議你,在使用blend後,需要在vs下對xaml**進行一次核查,這樣可以確認各個控制項的引數正確,同時也可以刪除blend自動產生的多餘**;

量避免使用固定的高度值和寬度值;在不設定固定的高度和寬度時候,silverlight會根據你的解析度自適應瀏覽器介面,同時,各個控制項將會自動縮放,以及排列位置; 另外,盡量不要使用負值的margin,防止樣式變形;

要使用image作為按鈕控制項; 在silverlight1.1中沒有button控制項,所以我們使用image作為按鈕; 但是在silverlight2或者3中,已經提供了button控制項,我們需要盡量使用button控制項; 這個原則也適合其他控制項,盡量使用silverlight提供的控制項,方便狀態管理和事件管理;

專案效能上,儘量減少xap的尺寸,提高載入專案速度,另外,減少各個使用者控制項的載入時間; 避免使用windowless=true; 使用web service進行伺服器資料訪問; 因為silverlight是執行在使用者主機的,所以不能直接和伺服器或者資料庫進行通訊,當前有很多種方式可以訪問伺服器資訊和資料庫,但是推薦使用web service(wcf),個人認為這個方法是最簡單,最快捷的;

心使用isolated storage; 一定不要把機密資訊放在isolated storage;

**:

Silverlight專案開發準則

盡量使用 控制 盡可能早的計畫好所有的使用者控制項 這樣可以提前預期控制項之間相互運作情況,便於整合專案 嘗試分割不同功能到不同的使用者控制項 現在無論國內國外,開發隊伍通常來說都是3個人以上,分割不同功能到不同的使用者控制項,可以減少相互之間的衝突和影響 另外,在測試的時候發現問題,對於不同的小功...

總結開發Silverlight專案準則

這篇是加拿大國慶放假的時候總結的,以前發到了cnblogs和csdn,今天同步一下51cto部落格。盡量使用 控制 盡可能早的計畫好所有的使用者控制項 這樣可以提前預期控制項之間相互運作情況,便於整合專案 嘗試分割不同功能到不同的使用者控制項 現在無論國內國外,開發隊伍通常來說都是3個人以上,分割不...

Silverlight遊戲專案開發日誌 11 10

game architecture game operation logic 1 game initialization process i factories keyword 1.mainusercontrol 指明遊戲部署的usercontrol 2 rootcanvas 作為根的ui元素 3 ...