摘要: 在上一讲中介绍了MVVM的核心概念,运用MVVM模式可以分离视图、视图逻辑和模型,提高可测试性和可维护性等,但如果一个视图比较复杂,仔细Review一下其ViewModel你会发现非常庞大臃肿复杂,而且部分代码逻辑不可重用,例如另外一个ViewModel想重用其中的部分代码逻辑而不是整个重用,就没有 阅读全文
posted @ 2011-08-17 14:37 China Soft 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 本文说说ViewModel的这个INotifyPropertyChanged接口可以用来做啥? 举例1:我有个TabControl,里面放了很多View,每个由ViewModel控制,我想是想TabSelectionChanged就打开相应的ViewModel,怎么做? 解答:用ViewModel的 阅读全文
posted @ 2011-08-17 14:34 China Soft 阅读(284) 评论(0) 推荐(0) 编辑
摘要: Behavior把一些常用的行为封装成可重复使用的组件(Component),在理想状况下,Designer(设计师)或domain expert(特定领域的专家,例如财会人员、HR人员、或MIS)甚至可以完全不需要具备程序设计的观念,只需要了解基础的事件(Event)观念,就可以顺利的开发出一套系 阅读全文
posted @ 2011-08-17 14:33 China Soft 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 数据验证(Validation)是界面程序的常见需求,例如使用正则表达式验证用户输入的Email地址是否合法,然后在界面给出错误提示信息。在Sivlerlight的MVVM模式中,我们在Model和ViewModel可以做Validation,然后需要把Model和ViewModel的Validat 阅读全文
posted @ 2011-08-17 14:32 China Soft 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 在上一篇写了Model的INotifyPropertyChanged接口实现,在Prism中有一个NotificationObject自动实现了这个接口,位于Microsoft.Practices.Prism.ViewModel命名空间下。也就是说,Prism推荐ViewModel继承这个Notif 阅读全文
posted @ 2011-08-17 14:30 China Soft 阅读(1755) 评论(0) 推荐(0) 编辑
摘要: 当客户端绑定一个数据模型以后,数据模型变化以后可以自动通知客户端更新界面显示,这就是INotifyPropertyChanged接口要做的工作。INotifyPropertyChanged 接口用于向客户端(通常是执行绑定的客户端)发出某一属性值已更改的通知。例如,考虑一个带有名为 FirstNam 阅读全文
posted @ 2011-08-17 14:28 China Soft 阅读(261) 评论(0) 推荐(0) 编辑
摘要: INotifyCollectionChanged在上一篇讲了《[Silverlight入门系列]使用MVVM模式(1):MVVM核心概念 》,今天讲一下集合Model。所谓集合Model就是给ItemsControl,如DataGrid,Combobox等绑定的集合数据模型。另外,通过定制Items 阅读全文
posted @ 2011-08-17 14:28 China Soft 阅读(1364) 评论(0) 推荐(0) 编辑
摘要: MVVM模式是Model、View、ViewModel的简称,最早出现在WPF,现在Silverlight中也使用该模式,MVVM模式是对MVC模式的变种。哪儿变了?我认为MVVM和MVC的主要变化在于MVVM更适合于XAML。 MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(M 阅读全文
posted @ 2011-08-17 14:17 China Soft 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 写在前面:最近在上海找工作,前前后后面试了N家单位,发现各个公司对程序员的数据库知识尤其是SQL语句的掌握程度有很高的要求,作为一名光荣的程序员,不会玩儿SQL语句走在街上根本不好意思和人打招呼!好了,废话不多说,新手菜鸟同志们了注意了,这篇文章提供的例子很简单,但是也很重要,请认真练习!别等到面试的时候被某些人嘲讽"唉!这年头,会写SQL语句的程序员越来越少了!L"老鸟高手同志们,你们可以优雅地飘过,但是有什么意见或建议都要提出来哦,大家一起进步嘛J,让菜鸟变成高手,提高我国的编程水平。一、SQL 基础知识1、DDL(数据定义语言)1)创建数据表--创建数据表create 阅读全文
posted @ 2011-08-17 13:55 China Soft 阅读(533) 评论(0) 推荐(0) 编辑
摘要: --定义计数器和动态SQL字符串DECLARE @itCount INT=0;DECLARE @STRSQL NVARCHAR(MAX) =NULL; --创建临时表IF object_id('tempdb..#MYTABLE') IS NOT NULLDROP TABLE #MYTABLE CRE 阅读全文
posted @ 2011-08-17 13:34 China Soft 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 什么情况下使用表变量?什么情况下使用临时表?表变量:DECLARE @tb table(id int identity(1,1), name varchar(100)) INSERT @tbSELECT id, name FROM mytableWHERE name like ‘zhang%’临时表:SELECT name, address INTO #ta FROM mytable WHERE name like ‘zhang%’表变量和临时表的比较:临时表是利用了硬盘(tempdb数据库) ,表名变量是占用内存,因此小数据量当然是内存中的表变量更快。当大数据量时,就不能用表变量了,太耗内存 阅读全文
posted @ 2011-08-17 13:27 China Soft 阅读(142) 评论(0) 推荐(0) 编辑