这篇是加拿大国庆放假的时候总结的,以前发到了cnblogs和CSDN,今天同步一下51CTO博客。
加拿大国庆节国庆节刚刚过去,昨天Team开会,对前期Silverlight项目进行了总结,根据自己的开发经验列出一些开发Silverlight项目的基本原则,供大家参考。
  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;
  12. 使用Web Service进行服务器数据存取; 因为Silverlight是运行在用户主机的,所以不能直接和服务器或者数据库进行通讯,当前有很多种方式可以存取服务器信息和数据库,但是推荐使用Web Service(WCF),个人认为这个方法是最简单,最快捷的;
  13. 小心使用Isolated Storage; 一定不要把机密信息放在Isolated Storage;

以后想起来,再继续补充吧。

原帖地址:http://kevinfan.blog.51cto.com/1037293/288047

转载于:https://www.cnblogs.com/ztmdsbt/archive/2010/06/28/1766522.html

总结开发Silverlight项目准则 [转]相关推荐

  1. 总结开发Silverlight项目准则(转)

    尽量使用代码控制: 尽可能早的计划好所有的用户控件:这样可以提前预期控件之间相互运作情况,便于整合项目: 尝试分割不同功能到不同的用户控件: 现在无论国内国外,开发队伍通常来说都是3个人以上,分割不同 ...

  2. Silverlight 项目开发准则参考

    在Silverlight项目开发中,一些基本原则可以参考如下: 尽量使用代码控制: 尽可能早的计划好所有的用户控件:这样可以提前预期控件之间相互运作情况,便于整合项目: 尝试分割不同功能到不同的用户控 ...

  3. Silverlight C# 游戏开发:项目开发实例和小技巧索引

    Silverlight C# 游戏开发:项目开发实例和小技巧索引 相比于技术文章而言,本索引中包含的都是独立的项目,争取按照每个独立的项目开发来编写系列,全部为原创,开发过程可能语无伦次,可能相当幼稚 ...

  4. VS2008正式版创建silverlight项目失败的解决办法

    安装microsoft express blend2 最新的试用版时,说请安装.net framework3.5 或更新的版本,我一想,我装了vs2008 beta2,有3.5呀, 于是我就下了个vs ...

  5. .NET开发Silverlight程序:界面和对象模型

    Silverlight是用XAML语言来描述界面的.XAML是eXtensible Application Markup Language的缩写,也就是可扩展的应用程序标记语言.在WPF(Window ...

  6. 反编译Silverlight项目

    在文章的开头,我想事先说明,本文并非诱导读者恶意反编译他人作品,盗取他人代码成果,只是为了学习Silverlight讨论而用. 在互联网上,每天都会有很多Silverlight项目发布,有的是开源,有 ...

  7. 使用Blend开发Silverlight VSM

    Visual State Manager (VSM-视觉状态管理器) 之支持 Silverlight 和 WPF中的控件模板支持对控件的"look(外观)",以及控件的" ...

  8. 总结开发Silverlight 注意事项

    原文:http://www.cnblogs.com/jv9/archive/2009/07/04/1516637.html 尽量使用代码控制: 尽可能早的计划好所有的用户控件:这样可以提前预期控件之间 ...

  9. Visual Studio 2005 开发 Silverlight 1.0

    如果大家已经在使用Visual Studio 2005做开发,现在又需要学习开发Silverlight应用程序.下面我们简单的介绍一下如何在VS2005中开发Silverlight. 首先需要下载Si ...

最新文章

  1. 传感器标定两篇顶会论文解析
  2. 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题
  3. 成功网页设计师的七大必备技能
  4. 小鸭脖大生意——绝味鸭脖背后的故事
  5. Matconvnet安装:win7+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1
  6. 在ubuntu上搭建LNMP服务器
  7. SQL Server遗失管理权限账号密码怎么办?
  8. 不越狱换壁纸_那些不舍得换的手机插画壁纸,你还差几张?
  9. 吴裕雄 15-MySQL LIKE 子句
  10. bzoj 1833: [ZJOI2010]count 数字计数(数字0-9的个数)
  11. 【数据库】sql连表查询
  12. Selenium TestNG Java环境搭建过程中所遇问题汇总
  13. 计算机考研培训中公,计算机408
  14. 计算机课件制作,多媒体课件制作photoshop和powerpoint教案
  15. python 一维数据和二维数据的存储,表达和处理
  16. mac 下 jkl 按键失灵
  17. ARFoundation之路-人脸检测增强之二
  18. Java实现O(nlogn)最长上升子序列
  19. 在Qt-Creator中使用搜狗输入中文的最简单解决方法(不需要编译安装)
  20. Nginx是什么?怎么用?(新手入门版)教程

热门文章

  1. RN react-navigation使用
  2. ★LeetCode(559)——N叉树的最大深度(JavaScript)
  3. JavaScript学习(二十八)—事件冒泡和事件捕获
  4. 想买一辆别克GL8用做家庭用车,跑长途自驾游可以吗?
  5. 怎样成为一个优秀的领导?
  6. 你觉得iPhone吸引你的是什么?
  7. 到退休单位没有通知,半年后通知退休,这半年是否算工龄?
  8. 为什么今年好多人开始买基金了,是疫情影响的吗?
  9. 要想挣大钱,就要懂一个基本
  10. 打工好,还是创业好?