總結開發Silverlight專案準則

2021-09-21 23:30:18 字數 1769 閱讀 5190

這篇是加拿大國慶放假的時候總結的,以前發到了cnblogs和csdn,今天同步一下51cto部落格。

盡量使用**控制;

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

嘗試分割不同功能到不同的使用者控制項; 現在無論國內國外,開發隊伍通常來說都是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

silverlight是能跨平台的.個人感覺sl和flash都差不多.要是比 絢 比 酷 sl站不到上風.只能在功能上比.sl和資料的結合是很不錯的.能呼叫很多的服務.但是用來做服務的後台檔案大多都受到伺服器平台的限制.之前做的好多demo都是因為沒有的方host導致我的demo都無法放到網上.近日...

Silverlight專案開發準則

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