巧用Silverlight之Path
开发web项目的人都知道,影响网页性能的一个主要因素就是加载大容量的图片和视频,当客户机发送请求时,我们需要把可能涉及到的内容,都解析后下载在客户端进行呈现。Silverlight也一样呀,作为web的富客户端版减小客户端大小,快速下载并加载是实现一个优质站点的基础,那么在Silverlight中,我们能否在这方面做些优化呢?答案是肯定的,那体验Path一把吧。
在项目开发中,同事说这个界面你画一
http://cyqdata.cn/cnblogs/article-detail-38711
C#面向对象设计模式纵横谈:Iterator 迭代器模式
集合内部结构与外部访问
动机(Motivation)
在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为“同一种算法在多种集合对象上进行操作”提供了可能。
使用面向对象技术将这种遍历机制抽象为“迭代器对象&
http://cyqdata.cn/cnblogs/article-detail-38638
CYQ.Data 数据框架 V2.0 版本 开放源码 继续开源之路
写在开源前的几句话:
1:指责开源不彻底,动不动就希望有一份最新版本的源码,好像国内开源的失败,全在开源者走向封源的原因
想说:
1:当你拿到一份源码后,你都做了什么?给了反馈?帮忙宣传?有木有,有木有?可怕的是一边索取还一边骂。
2:国内都是一些富翁在写开源代码?
2:指责打着开源的幌子在收费,既然开源了,还收费,太不地道了
想说:
1:开源!=免费,这些常识网上
http://cyqdata.cn/cnblogs/article-detail-38605
C# Foundation
1. 数值类型
整数字面量:
int x = 100; //decimal notationlong y = 0x7F; //hexadecimal notation
实数字面量:
double x = 1.5; //decimal notationdouble y = 1E06; //exponential notation
数值字面量类型推定:&nb
http://cyqdata.cn/cnblogs/article-detail-38580
生成器模式(又名建造者模式、Builder Pattern)
模式名称:生成器模式
1.问题描述
生活场景:你玩过种地、种花等类似的游戏吗?这是最近很流行的游戏哟!下面就是从种花游戏中剪切的四个花盆(盆景),很漂亮吧!你将不同的种子放入花盆,一段时间后你就可以看到各种美丽的鲜花了,不同种子所生产出来的鲜花有不同的花朵、叶子和枝茎。编码该如何实现呢?
&nb
http://cyqdata.cn/cnblogs/article-detail-38562
Web 地理定位(Geo-Location)知识大全
在线地图已经是很平常的应用,Google Map 甚至可以用作驾驶导航仪,然而,这些应用的实现涉及到千丝万缕的艰辛工作,仅仅是定位你现在的位置,就有很多技术,有幸的是,如今在你的 Web 站点中,你可以通过短短的几行代码,获得一个用户的地理位置,本文介绍的是用在 Web 中的各种地理定位技术。通过 IP 地址获得用户的地理位置信息互联网不过是一个巨大的网络,上面的每一台电脑对应一个 IP 地址,通
http://cyqdata.cn/cnblogs/article-detail-38560
C#3.0笔记(一)预备知识之Delegate
在学习C#3.0之前还是先来回顾下委托、事件,因为这样能更加有助于理解C#3.0里面的一些新的特性,如Lambada表达式等。
背景
在C语言中我们可以用函数指针来创建回调函数,但是在C里面回调函数存在一些安全问题。因为它只是在内存地址中记录了下来,并没有像方法的参数类型、参数个数、返回值等其他安全信息。而在.Net FrameWork中,回调仍然是可以的,.net framework中提
http://cyqdata.cn/cnblogs/article-detail-38551
深入浅出多线程系列之八:内存栅栏和volatile 关键字
以前我们说过在一些简单的例子中,比如为一个字段赋值或递增该字段,我们需要对线程进行同步,
虽然lock可以满足我们的需要,但是一个竞争锁一定会导致阻塞,然后忍受线程上下文切换和调度的开销,在一些高并发和性能比较关键的地方,这些是不能忍受的。
.net framework 提供了非阻塞同步构造,为一些简单的操作提高了性能,它甚至都没有阻塞,暂停,和等待线程。
Memory Barrie
http://cyqdata.cn/cnblogs/article-detail-38521
由Effiproz DataBase来看.NET开源数据库发展
这篇文章本来应该写在上个周末, 可是临时有事给耽误了,上周五在MSDN上看到Effiproz DataBase发布了1.2版本. 在Effiproz以前也用过几个嵌入式开源数据库. 不过Effiproz DataBase是纯C#编写的. 开发者就可以将它移植到具备CLR的大多数环境中,包括.NET Compact、Mono、Windows 7以及Silverlight. 和Windows Phon
http://cyqdata.cn/cnblogs/article-detail-38430
XML与DataSet对象的关系
在.NET Framework 中,经常使用XML 作为存储和传输各种数据的格式。DataSet 中的数据可以转换成XML 的形式来表示和存储。我们可以使用XML 对象同步和转换DataSet 的数据,而DataSet 也可以存储和传输XML 格式的数据。
XML 与 DataSet 的关系如下图所示:
DataSet 对象的常用方法如下:
A. 使用ReadXml(
http://cyqdata.cn/cnblogs/article-detail-38418
数组左旋转k位 —— C++标准算法库中最悲剧的函数:rotate
要将一个数组的所有元素向左旋转k位,通常有三种算法:
算法1(分组交换):
若a长度大于b,将ab分成a0a1b,交换a0和b,得ba1a0,只需再交换a1 和a0。
若a长度小于b,将ab分成ab0b1,交换a和b0,得b0ab1,只需再交换a 和b1。
不断将数组划分和交换,直到不能再划分为止。分组过程与求最大公约数很相似。
读写内存各 n到2*n次
&
http://cyqdata.cn/cnblogs/article-detail-38379
应用WSH、JavaScript和 bat 实现自动化构建工具改善工作中的代码部署流程!
相对于实现需求来说代码的发布部署工作是一项重复的体力劳动,如:代码的压缩、资源URL的替换、资源文件在多台服务器上的同步工作、重启相应Windows服务。对于每次发布部署来说这都是一个固定的流程。显然我们对代码部署这种重复的体力劳动比较不感兴趣,对于实现新需求有更高的积极性。另外作为做程序员,我们这类典型的脑力劳动者除了实现工作中业务需求外,我们也应该要充分利
http://cyqdata.cn/cnblogs/article-detail-38375
Private 访问控制符的准确意义
假设我写了一个类,代码如下
namespace XXXXXXX{ public class A { private int Add(int a, 
http://cyqdata.cn/cnblogs/article-detail-38349
强人Hibernate文档笔记(下)
Hibernate文档笔记共分为三个部分,此处是第三部分,重点讲述了可选配置项,它包括Hibernate配置项、Hibernate JDBC和连接的属性、Hibernate Cache 属性、Hibernate事务属性和Miscellaneous properties 各种混合的属性。
九、可选配置项
下面介绍的Hibernate属性,有一些是系统级别的。系统级别的属性只能通过-Dproperty
http://cyqdata.cn/cnblogs/article-detail-38342
WPF中自定义DataGrid控件
之前项目中要用到DataGrid这个控件,让显示读取本地文件夹下的东西。这个文件夹包含三个东西,一个是png图片一个是TXT文本,另一个是一个.lmf文件。要求是把图片以及txt里的文本同时显示在DataGrid里。显示文字还算简单一点,绑定一下就行啦。至于在DataGrid上显示图片以前没接触过,于是就baidu啦或google啦,费了一些时间,找到了一些类似的Demo,于是就对类似的进行了一番
http://cyqdata.cn/cnblogs/article-detail-38304
Direct2D教程(四)Path Geometry
概述
Direct2D支持以下几种类型的几何图形,上一篇介绍了简单几何图形,这篇介绍Path geometry。Simple Geometry(简单几何图形)
矩形
圆角矩形
椭圆
Path Geometry(路径图形)Composite Geometry(复合图形)
Geometry Group(图形组)
Transformed Geometry(变换的图形)
Path geometry
http://cyqdata.cn/cnblogs/article-detail-38280
访谈Brad Fitzpatrick——《编程人生》精彩样章
丁雪丰/译
Brad Fitzpatrick 是所有受访者中最年轻的一位,也是其中唯一一位从未在没有因特网或个人电脑的世界里生活过的。他出生于 1980 年,很早就开始了自己的程序员生涯, 5 岁时就在一台自制的 Apple II 克隆机上学习编程。在十几岁时,正好赶上因特网革命的大潮,他一头扎入其中,在高中时就建立了自己的第一个商业网站,在进入大学前的那个夏天创立了著名社区 LiveJour
http://cyqdata.cn/cnblogs/article-detail-38271
MVC模式结合Mediator模式的运用
Mediator模式有一种本事,就是可以让本身需要互相协作的对方,可以不用知道彼此,而把两者之间的联系,转交给Mediator来处理。换句话说,Mediator模式解除了需要互相协调的对象之间的依赖。这也是Mediator(调停者)模式名字的由来。一个颇为形象的例子是***。
进入***的用户总是要彼此通信的,这些对象如果直接进行交互,就会彼此连接,最后织成一张纷繁复杂的大网。要分清彼此之间的
http://cyqdata.cn/cnblogs/article-detail-38249
WP7 Isolated Storage详解(6)-通过XmlWriter读写XML文件
首先创建一个Windows Phone 7项目,然后在MainPage.xaml.cs(或其他页面文件)中引入命名空间:
using System.Xml;
using System.IO.IsolatedStorage;
using System.IO;
使用XmlWriter 保存XML文件到隔离存储空间
示例中创建了一个名为People2.xml的XML文件并写入数据。
using (Iso
http://cyqdata.cn/cnblogs/article-detail-38232
命名空间+反射:未能加载文件或程序集“database.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件..
public static object CreateObject(string AssemblyPath,string ClassNamespace)
{
object objType = DataCache.GetCache(ClassNamespace);//从缓存读取
if (objType == null)
{
try
{
objType
http://cyqdata.cn/cnblogs/article-detail-38196