Silverlight框架
最近学习Silverlight,感觉做出来的效果自然是很炫,但要真正使用到实际项目中,要学习的东西还是很多的。整理了一下,按照常规的层次结果,如下所示:
界面层:主要是学习Silverlight基础,包括Silverlight控件的使用、Toolkit扩展控件的使用、xaml语言(布局、动画、通信、视频、图像、交互)、Style尤为强大,需要多花时间。
另外界面层架构,
1、Prism根据用户需要动态加载功能模块,大大降低了模块之间的耦合,同时由于是动态加载,缩短了页面加载的时间,减少了用户等待时间,给用户带来更好的体验;
2、MVVM即Model、View、ViewModel三层,ViewModel有一个很明显的优点:可降低View与Control的耦合;
3、MEF即Managed Extensibility Framework是.NET平台下的一个扩展性管理框架,它是一系列特性的集合,包括依赖注入(DI)以及Duck Typing等。个人感觉跟Prism有些类似,都是动态加载,MEF使用了反射机制,可动态加载动态链接库,而Prism是动态加载功能模块View;另外,MEF是VS2010自身的东西,而Prism需要引用另外的动态链接库,但我感觉还是Prism好用,可能是我对MEF还没理解透彻。
总之,界面层,使用Prism与MVVM是最完美结合,各功能模块相互独立,各模块自身都使用MVVM模式,各模块通过Prism动态加载。
访问数据库与业务逻辑处理:
1、传统数据访问层与WCF结合的方式。
使用Command方式访问数据库,BaseDAL提供数据库访问的基本方法,BDU层提供数据实体层,为了与界面层的模块无耦合相对应,这里针对每个模块分别建立DAL层与BLL层,然后通过控制台程序宿主每个WCF服务,使用net.tcp协议较http协议大大提高了访问速度,所以建议WCF Services使用net.tcp协议提供服务。
2、WCF RIA Services方式。
WCF RIA Services简化了N层结构的RIA应用程序的开发。当开发一个N层结构的RIA应用程序时,一个通常的问题就是在中间层和表现层之间协调应用逻辑。RIA服务提供框架组件、工具以及服务来使RIA客户端不用手动复制程序逻辑就能调用位于服务器上的应用逻辑。你所建立的RIA客户端不仅能够了解商业逻辑,而且当每次解决方案编译时会自动更新中间层逻辑。(此段为摘抄内容)
WCF RIA Services方式提供数据库访问与业务逻辑处理,主要优点有:
1)构建应用程序效率高;
2)安全性好、性能高;
缺点有:
1)可扩展性差,通过ADO.NET Entity Data Model,你只需要钩钩选选即可自动生成数据库访问方法(增、改、删、查)。很奇怪,微软竟说WCF RIA Services可扩展性好,不明白。
2)数据库兼容性差。目前只支持SQL Server数据库,(微软已经把System.Data.OracleClient从.net framework 4.0中删除,其唯我独尊的野性可见一斑),不过CoreLib提供了访问其他数据库(包括Oracle)的收费插件。
Silverlight学习时间还不是太长,随着学习和应用的深入,以上内容可能会更新,敬请关注。
Silverlight框架相关推荐
- Silverlight 框架
Silverlight 框架 刚开始接触Silverlight就有幸看到guozili 关于"基于Silverlight的精简框架"的博文,不但言简意赅,而且实现的效果也是夺目三分 ...
- 【学习笔记】Silverlight框架:Jounce(4)——事件通信
Prism.CM和Jounce里都有各自的事件通信机制,也都叫EventAggregator. 相比于Prism,Jounce里的EventAggregator的风格更接近CM.当然作者也是这么说的: ...
- Silverlight入门:第三部分 - 数据访问
现在我们已经有了一个基础布局,同时也在上面放了一些控件,接下来让我 们开始获取数据.因为我们想要搜索Twitter上的内容,所以我们需要充分使用 他们提供的Web服务API.在继续之前,我要先说明在本 ...
- Silverlight测试——利用Ranorex实现数据驱动测试
最近这段时间一直很忙, 上次关于Jacklin提出WindowsPhone 7访问本地DataBase在XAP包无法操作问题. 我正在WP7上测试利用开源数据库DB4O和SiaqoDB方式来解决这个问 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(07月25日-07月31日)
上周,微软发布Visual Studio LightSwitch 2011正式版,为商业应用开发人员推出一个新的应用开发产品.Visual Studio LightSwitch 2011 作为一种简单 ...
- 在企业中使用的Silverlight:RAD数据通信用户友好的数据库访问
最近在学习Silverlight,在网上搜了一把Silverlight开源项目,结果很少,顶多就是银光网上有那么点资料,EasySL开源框架也是不错的. 于是打开CodeProject上面浏览看到了相 ...
- Silverlight MMORPG网页游戏开发课程[一期] 第九课:HUD与背景音乐
引言 征服玩家的不仅仅是创意,无比动人的视觉体验譬如精美的界面UI同样能让人倾慕,辅以优柔的旋律仿若一缕思绪让您身临其境而流连.深刻的第一印象无限大的冲击着玩家那份内敛的狂热,优秀的游戏作品价值将在欢 ...
- .NET、C#与Silverlight开发圣典——分享15位MVP的最佳实践经验
<.NET.C#与Silverlight开发圣典--分享15位MVP的最佳实践经验> 基本信息 原书名:Real World .NET 4, C#, and Silverlight:lnd ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(11月21日-11月27日)
分享Silverlight/WPF/Windows Phone一周学习导读(11月21日-11月27日) 本周Silverlight学习资源更新 Silverlight 利用Telerik导出到Wor ...
最新文章
- Flink状态后端配置(设置State Backend)
- 课程作业1:字符型强制转化为整型
- Java第一个程序Helloworld
- jvm对于java的意义_谈谈对JVM的理解
- IOC操作Bean管理XML方式(注入内部 bean 和 级联赋值)
- Windows 10 May 2020 中 WSL 与 WSL2 的性能比较
- 【PHP 开发】mac 在 PHP 环境安装 mcrypt 扩展的方法
- 【C/C++】通过无类型指针实现泛型拷贝(内存拷贝)
- 检查字段是否包含字符串
- Swing组件集合的事件处理(三)
- 工具-python实现电影字幕的自动翻译
- HEU KMS ActivatorV7.8.6迷你版 激活工具使用
- 新浪微博平台架构(转)
- 【错误记录】python不常用的一个小操作:安装pip
- 有赞前端SP毁约后的日子
- sigma-delta_Delta调试-简化失败的测试用例
- 用docker在linux上安装qq和微信
- 图书信息管理系统c语言txt,小型图书信息管理系统(C语言)
- 计算机答疑在线,基于web的在线答疑系统设计
- 手机视频直播系统开发关于Js敏感词替换成*功能介绍