注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

水木的博客

唱好人生中的每一场戏

 
 
 

日志

 
 

Silverlight项目开发准则  

2011-10-20 22:57:13|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  1. 量使用代码控制;
  2. 可能早的计划好所有的用户控件;这样可以提前预期控件之间相互运作情况,便于整合项目;
  3. 试分割不同功能到不同的用户控件; 现在无论国内国外,开发队伍通常来说都是3个人以上,分割不同功能到不同的用户控件,可以减少相互之间的冲突和影响; 另外,在测试的时候发现问题,对于不同的小功能区域,方便Bug定位;另外也方便功能模块的再利用。 这个是现在Web项目开发的一个常用规则。
  4. 量少用Loaded事件;
  5. 始化的问题; 在每个用户控件中,需要创建Initialize和Deinitialize公共方法。  在实际项目中,你可以把Event Handlers或者必须要运行一次的代码,添加到Initialize方法中; 另外,也可以不用添加新的构造函数,直接传递参数到Initialize方法,通过New MyUserControl()使用这些参数; 最后,你可以使用Deinitialize方法清空控件,如果你调用了需要自定义的控件,使用Deinitialize方法是非常必要的;
  6. 要在XAML添加Event Handles; 因为XAML是属于前台设计人员,而Event Handling属于开发人员,所以,Event Handler非常容易使用代码进行添加;另外一个原因,如果你使用代码添加了一个Event Handler,当该事件的控件名称改变或者该控件被删除,编译器会提出错误说明; 但是如果把Event Handler放在XMAL,当该事件的控件名称改变或者该控件被删除,项目将返回一个常规异常,没有详细错误信息提示;
  7. 真设计项目布局; 我项目起步时,浪费了许多时间,在项目布局上,如果,布局合理,一定能节省很多开发时间;这样就需要开发人员对Grid,StackPanel,Canvas,Border,Popup,ScrollViewer,DockPanel等布局控件有深刻的了解;通常,你会发现,Grid非常适合做Header,Footer,Sidebar等等; 而复杂的布局结构,建议使用Canvas,需要注意的是,如果Canvas的高和宽是固定的,这样就很容易造成布局混乱,这点一定要注意;如果需要调整子控件的布局,推荐使用StackPanel;设计Silverlight项目布局,通常我们习惯使用Expression Blend,但是,强烈建议你,在使用Blend后,需要在VS下对XAML代码进行一次核查,这样可以确认各个控件的参数正确,同时也可以删除Blend自动产生的多余代码;
  8. 量避免使用固定的高度值和宽度值;在不设置固定的高度和宽度时候,Silverlight会根据你的解析度自适应浏览器界面,同时,各个控件将会自动缩放,以及排列位置; 另外,尽量不要使用负值的Margin,防止样式变形;
  9. 要将机密信息放在代码中; 众所周知,Silverlight是一个客户端技术;用户在使用的同时,将会下载XAP文件到本地,这样非常容易被反编译; 所以,一定不要把敏感的机密数据放在代码中;
  10. 要使用Image作为按钮控件; 在Silverlight1.1中没有Button控件,所以我们使用Image作为按钮; 但是在Silverlight2或者3中,已经提供了Button控件,我们需要尽量使用Button控件; 这个原则也适合其他控件,尽量使用Silverlight提供的控件,方便状态管理和事件管理;
  11. 项目性能上,尽量减少XAP的尺寸,提高加载项目速度,另外,减少各个用户控件的载入时间; 避免使用Windowless=True; 使用Web Service进行服务器数据存取; 因为Silverlight是运行在用户主机的,所以不能直接和服务器或者数据库进行通讯,当前有很多种方式可以存取服务器信息和数据库,但是推荐使用Web Service(WCF),个人认为这个方法是最简单,最快捷的;
  12. 心使用Isolated Storage; 一定不要把机密信息放在Isolated Storage;

 

  评论这张
 
阅读(619)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017