- 博客(61)
- 资源 (6)
- 收藏
- 关注
原创 利用索引器搞定了一个通用字典数据加载方式。
因为字典都来自统一的字典表,访问方式基本相同,利用绑定可以支持索引的特性,搞了一个通用的字典数据源加载的机制,程序员使用的时候非常方便,可以提供给下拉框,列表框等地方。统一的绑定访问的形式:{binding Path=Dict[XXXX].DictValues},dict属性放在
2011-08-30 20:32:19 2437 2
原创 AEF 中的SQL语句执行能否返回数据集(DataTable)?
用实体来做事情的时候确实比较方便,有利于编程。但有的时候也非常麻烦,因为有些数据属于属性动态的,这在企业应用中做些比较高级的功能时用的地方比较多,虽然我前面的博文中提供了一种解决方案,但那时后面没有用实体框架,而是直接用可以返回数据集(DataTable,DataSet)的方式进
2011-08-29 20:22:08 3475
原创 WCF RIA Service下的Entity和ComplexObject的一点区别(微软不厚道)
1)对于Entity的支持相对来说比较好,自动生成的实体如果以Entity为基类,可以挂接属性改变事件,这个非常有用,但如果生成的实体以ComplexObject为基类,则没有这个好处;2)ComplextObject对于服务端得实体要求不是很严,不像要生成Entity为基类
2011-08-29 20:00:01 3020
原创 WPF依赖属性,绑定通知机制系列补充说明
依赖对象准备增加了属性元数据类型的定义,开始忘记贴了。以上代码都经过了测试,模拟是成功的。其实微软在页面中的绑定语法最终都会如模拟中那样实现。微软的做法是导入xaml文件的时候根据文件中的控件语法动态的生成控件实例,其绑定语法也是在这个过程中自动添加进出的,只不过需要一个简单的路
2011-08-28 09:31:03 5120
原创 模拟实现WPF的依赖属性及绑定通知机制(4)--模拟实现绑定连动机制
1、一个依赖对象示例: public class MyDendencyControl : MyDependencyObject { public static readonly MyDependencyProperty ContentDepende
2011-08-28 09:20:08 3855
原创 模拟实现WPF的依赖属性及绑定通知机制(3)--依赖对象
下面是依赖对像类的实现:(注,这里涉及到INotifyPropertyChanged接口,大家可以参考MSDN文档了解). /// /// 依赖对像,主要提供属性值和属性绑定的管理。 /// public class MyDependency
2011-08-28 09:07:45 4919
原创 模拟实现WPF的依赖属性及绑定通知机制(2)--依赖对象的准备
依赖对象一个主要的功能就是提供对依赖属性属性值的管理,所有需要具有依赖属性的类都可以从这里继承,而无需自己去管理依赖属性值。依赖对象的主要方法就是SetValue和GetValue两个方法,这也是依赖属性和普通属性获取值不一样的地方,当然实际的应用中依赖属性一般不会直接使用这两个
2011-08-28 09:04:46 4940
原创 模拟实现WPF的依赖属性及绑定通知机制(1)--依赖属性
依赖属性的好处大家可以参见前面我转载的博文。我们知道,WPF中控件的属性非常多,但这些属性中大部分你在编程过程中是不会改变设置的,而是直接利用其默认值(所以以后设计属性时,默认值的选择也非常关键,这有利于减少存储),如果采用原来的属性方式,每个类的实例都会有自己的一份属性值集合,
2011-08-28 08:47:46 4843
转载 Silverlight的依赖属性与附加属性
Silverlight的依赖属性与附加属性SilverlightAttachedProperty,CLR属性,DependancyProperty,Silverlight, 依赖属性, 值变更, 寻值,附加属性好久没写Silverlig
2011-08-27 21:59:35 2655
原创 Silverlight实战示例(兼集合属性的妙用)系列源码文件已经上传,大家可下载
今天有空整理了一下Silverlight实战示例(兼集合属性的妙用)系列源码,上传到CSDN的下载频道,大家需要的话可以去加载,大家一起进步!如果大家觉得2个资源分贵了,告一声,我回去修改(不知能不能修改资源分?)一下。随便说一声,上载的资源可能需要审核,估计要点时间才能
2011-08-27 09:41:39 3724 5
原创 这段时间学习和应用silverlight+WCF RIA Service的总结
要做ERP这样的企业业务系统,Silverlight+WCF RIA Service还是有欠缺,客户端没有同步调用麻烦多多,服务端的自动生成客户端实体和代理服务代码,是看起来很美,但用处不大,而且极不利于分拆。分几个库吧,公共实体部分生成会重合,会出错,不分吧,都在一起维护很困难
2011-08-26 22:21:26 2747
原创 Silverlight实战示例7(兼集合属性的妙用)--客户端视图层(V)
1)视图层后台代码,很简洁,主要是处理视图模型的创建,当然,如果你利用一些技术,这里是可以不需要代码的。不过我的观点是任何事情都不要搞成洁癖,如果页面的所有控制都放在视图模型层,反而会使得视图模型层最后就变成了视图的后台代码,那么这个MVVM模式就失去了意义。using ME
2011-08-25 07:26:42 5029 7
原创 Silverlight实战示例6(兼集合属性的妙用)--客户端视图模型层(VM)
3)视图模型层DynamicDataViewModel .csusing System;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windo
2011-08-25 07:16:20 3116 2
原创 Silverlight实战示例5(兼集合属性的妙用)--客户端模型层(M)
1)服务代理层 这里的代码都是系统自动产生的,主要负责代理服务端得方法执行,没什么特别可说的.2)客户端模型层DynamicDataSource.csusing System;using System.Net;using System.Windows
2011-08-25 07:07:26 3354
原创 Silverlight实战示例4(兼集合属性的妙用)--业务逻辑与服务层
1)业务逻辑层:DynamicDataBusi.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;us
2011-08-24 22:28:39 3453
原创 Silverlight实战示例3(兼集合属性的妙用)--数据库访问层和数据访问层
这两层实际上就是大多数实体框架所处的层次,在这两个层次方面,大家可以参考动软的方式,当然,也可以自己构建,也可以利用现有的成熟的实体框架。但对于大型项目或者产品型项目,最好还是不要使用那些复杂的实体框架,因为更新,维护,升级都不太可控,而且很多时候都会有一些限制,不太利于构建高效
2011-08-24 22:14:43 3610 1
原创 Silverlight实战示例2(兼集合属性的妙用)--实体的组织(续)
3)数据行DynamicDataRow.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MEntities{
2011-08-24 21:59:42 3152
原创 Silverlight实战示例2(兼集合属性的妙用)--实体的组织
在本篇中,我们不仅演示实体的结构,而且我们利用集合属性来打造万能实体(类似于DataTable)。 下面是代码:1)首先我们定义Column,主要提供字段列信息:DynamicDataColumn.csusing System;using System.Collect
2011-08-24 21:52:06 3452
原创 Silverlight实战示例1(兼集合属性的妙用)--整体架构
在这个系列里我们将学习一般业务系统的整个过程,涉及到从数据库一直到silverlight页面的各个方面。示例中遵循我一贯的风格,不采用任何第三方框架。但为了简单起见,这里不考虑多种数据库支持(其实多种数据库支持在可以利用存储过程的情况下,非常简单,封装一个数据库访问层即可),同时
2011-08-24 21:16:25 5134 5
原创 架构设计原则--类层次多少为宜?
只要是采用面向对象编程,类层次是必然的(包括接口),虽然面向对象编程有一个原则就是多用接口少用继承的原则,但这并不是说不要用继承,毕竟继承可以实现代码的复用,有其好处。对于自己的类层次,当然是越少越好,但不管多少最少是2两层,那么2-3层应该很正常,4-5层有点多,6层及以上,对
2011-08-23 06:40:54 2563
原创 设计模式之命令模式的一点补充
在命令模式中有4个角色:调用者,命令,接收者和客户端,调用者的责任是发送命令请求,命令负责对当前的命令接收者处理过程的调用(传达作用)。而接收者负责具体的命令执行,也就是负责命令的具体处理逻辑。客户端的作用就是根据一定的参数,创建具体的命令和接收者,并决定命令由谁(接收者)来执行
2011-08-21 22:31:29 1580
原创 推荐几个博客,希望大家能在技术之外看看这个世界
http://blog.sina.com.cn/u/1497047894http://blog.sina.com.cn/liujunluo 中国前30年是造船为主流,所以原创很多,即使是山寨也很有水准,近30年是租船论为主流,以卖为主,现在弊端已显露无遗。但一个国家的
2011-08-21 21:37:47 2040
原创 每天一博:看起来很美,但实际上很脆弱的群体
有不小的欲望,也有点小聪明,见识比较多,虽然很多都不是一手的,出入的场所和工作环境看起来都不错,至少比一线工人或者是日晒雨淋的农民工要强些,因为工作主要用脑,也符合劳心者条件,但虽是劳心者,但并不治人,而恰恰相反,这个群体是治于人。不团结,爱面子是这个群体的典型性格,而且大多
2011-08-21 16:39:27 2243
原创 每天一博:无可写
今天空了一下自己,没有去学技术,但不是因为知道在中国学技术不重要,学厚黑才是王道的缘故,而是需要去陪陪家人,技术是学不完的,钱也是赚不完的,而生活是实实在在的。在中国,我这把年纪还在写代码,而且代码量还如此巨大的,估计很少了,但这也不能怨社会,毕竟我们是有优越性的。别的国家人民都
2011-08-20 23:11:54 1906
转载 Accessing of Rows in Silverlight DataGrid
Imagine you want to enumerate (enlist) all rows (DataGridRow) of Silverlight Grid (DataGrid). By design this is not very simple tasks.Fo
2011-08-20 08:14:11 3301
原创 Silverlight应用框架雏形:MVVM+WCF RIA Service + 业务逻辑层+自写的实体框架
经过1个月的学习,从接触Silverlight到现在完成一个初具企业级应用框架的实现,确实感觉比较累。本来底层定型很快,但由于选型时争论比较长,拖了点时间,而我本来只负责底层,但由于客户端小组进展比较慢(原因一言难尽),这个星期我开始接手这方面的工作,经过几天的努力,在UI组兄弟
2011-08-19 19:56:23 7156 8
原创 Silverlight中字典集合的妙用
Silverlight4的属性绑定支持索引器,利用这个特性就可以实现VM对V提供更为方便的支持,而且对于基本类型的字典还可以穿越WFC RIA服务,对于DataTable之类的动态数据,就可以利用这个特性不仅可以穿越服务,还可以动态绑定到Silverlight客户端.动态实体
2011-08-19 19:15:07 3778 6
原创 Silverlight的MVVM模式
M是模型层,实际上就是客户端得数据服务层,而V是页面,即视图层,VM是视图的模型层,也可以看做是M和V之间的桥接层。我们知道在数据库编程中,特别是Delphi中的数据库编程中,数据感知控件一定令人印象深刻:界面控件只要设置一个数据源(DataSource),然后设定本控件要绑
2011-08-16 20:21:03 2852
原创 技术的哲学思考
1)事务都具有两面性,技术也是事务,技术也具有两面性 每项技术都有自己的优势和劣势,而且针对不同的应用场景,优势和劣势还会发生变化,所以在讨论技术的优劣的时候应该确定一个相对统一的应用范围。2)事务都是环境相关的,技术也不例外 技术的存在和应用离不
2011-08-16 07:34:59 1929
原创 WCF RIA Services 版本问题坑了我
我们准备用WCF RIA做Silverlight的通信层,结果因为我的机器安装的是4.0,经过无数次测试,还去老外论坛问了,也没得到结果,因为这么久测试都是无法穿越,我就跟BOSS说无法穿越复杂的实体类型,结果老板今天叫另外一个同事测,一测试就可以通过,我回来研究了一下,怎么弄都还是不行。我开始怀疑是不是我的WCF RIA版本问题。我下载了最新的Sp1(SP2还只是PreView版),一安装上去,
2011-08-15 19:41:23 2890
原创 WCF RIA Services版本问题,请大家注意
在使用POCO方式时WCF RIA Service 1.0 For VS2010(版本号4.0.XXX)下,具有实体成员的实体通过:[Invoke]public E GetXXXX()的形式暴露给客户端,是无法编译通过的,这是这个版本的RIA的一个Bug,但这个问题在Sp1版(版本号4.1.xxx)得到了解决。在SP1后,实体嵌套实际上是可以穿越RIA服务的,下面是我测试出来的:1)List等单个
2011-08-15 19:29:16 3858
原创 Spring系列(6)---总结(完)
下面我们来看看IOC和AOP的一些优劣:IOC:优势:1)可以解耦一些逻辑关系,使得这种关系更加松散,而且可以在不重新编译程序的情况下通过配置信息的更改达到更改程序逻辑的目的;2)可以大量减少一些中间(比如典型的创建逻辑)类;3)带来了很大的灵活性和可扩展性。劣势:1)只适合逻辑比较简单,而且形式比较统一,量比较大的地方,对于复杂的逻辑使用配置文件完成,反而会增加系统的复杂度和难度;2
2011-08-14 19:09:49 2663
原创 Spring系列(6)---总结(1)
Spring当然不仅仅只包括我们前面看到的这些技术,但其核心的思想主要是IOC+AOP这两块。在前面的几块中我们着重讲了AOP,最后简单介绍了一下IOC.这个系列介绍到这儿,基本涉及了Spring主要思想和技术,并建立了自己的一个简单的AOP模型。(一)我们首先来看看我们用到
2011-08-14 18:05:00 2717
原创 Spring系列(5)---IOC技术.
说实话,我对Spring技术还是不算很了解,IOC的技术我在实体框架技术中提到过,但IOC和AOP作为Spring技术的两个核心思想,我觉得在总结之前,还是有必要说明一下我所理解的IOC.我们知道,如果两个事务之间存在逻辑关系,而且你需要根据这个逻辑关系做事,(比如类A和类B,类A需要调用类B的方法,比如ORM等),那么该做的事情,其实一件都不会少的,只是我们可以利用一些技术手段来减少直接的依
2011-08-14 17:19:44 3035
原创 Spring系列(3/4)----一个较为完善的模型(完)
接上一篇,我们继续来完善这个模型,我们为附加责任类定义了一个接口,这样,只要实现这个接口的类都可以注册,接收代理类的调用通知;同时为了更好的交互,我们还定义了一个调用参数接口,和一个具体的调用参数类,接下来,我们再看看代理类:/// /// 代理类,从AClass
2011-08-13 21:18:31 2649
原创 Spring系列(3/4)----一个较为完善的模型(续)
接上篇:4、我们知道我们进行动态代理的目的是为了附加责任,也就是在目标类方法执行的时候,我们能增加一些附加的功能。我们前面的模型虽然可以达到这个目的,但通信信息不够。观察者虽然可以获取目标类,但无法知道当前执行的方法和参数值,这在有些情况下虽然没什么不利,但既然我们的目标其实就是监视目标类的方法的执行,能有目标类执行方法时的方法信息和当前实际参数的信息,当然是更好了,为此,我们可以专门增加一个
2011-08-13 09:07:51 2536
原创 Spring系列(3/3)---一个较为完善的模型
上一篇,我们建立了一个可用的模型,但我们也看到了它的不足,下面,我们就来继续完善这个模型:1、首先,因为委托的目的其实是为了与附加责任类进行交互,而挂接了委托的附加责任类才会收到消息,从这点来看,是一个非常典型的观察者模式应用场景,因此我们觉得引入这个模式,好处是观察注册有专门的类来负责管理,在这里是代理类行使这个责任(后面的模型会转到代理类工厂),二是附加责任类以类的身份参与,而不再是简单的
2011-08-13 08:58:37 2482
原创 Spring系列(3/2)---交互的改进
前面一篇,我们写了一个代理类,可以实现一些功能,但作为动态代理类的原型,还是有问题的。我们来改进一下原来的类,如下: /// /// 代理类,从AClass继承.这是必须的,否则AClass能用的地方, ProxyAClass1却没法用.这里的改进主要是将需要切入的委托,采用构造参数传递进去,有利于动态构造实例。 /// public class P
2011-08-12 20:32:43 2474
原创 Spring系列(3/1)---交互的一种尝试
前一篇,我们知道可以利用委托和代理来实现为目标类增加额外责任,这里我们先用一个简单的例子说明如何去实现.//目标类,有3个公共方法,但由于非虚方法无法继承,所以能够切入的只有2个公共虚方法。虽然从生产代理的角度来讲,非虚公共方法也可以截获,//但要求代理类重写该方法,而一旦重写,根据方法的调用规则,在用目标类型调用这个方法时,其实是调不到代理类中的这个方法的,所以就没有机会截获和监视。
2011-08-12 19:44:41 2998
Silverlight实战示例7(兼集合属性的妙用)示例代码
2011-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人