翔如菲菲

其实天很蓝,阴云总会散;其实海不宽,此岸连彼岸.

导航

06 2011 档案

领域模型管理与AOP
摘要:领域模型管理与AOP摘自:InfoQ:原文地址:http://www.infoq.com/cn/articles/aspects-of-domain-model-mgmt 正如从像《领域驱动设计》[Evans DDD]和《领域驱动设计和模式应用》[Nilsson ADDDP]这些书中学到的一样,在应用架构中引入领域模型模式(《企业应用架构模式》[Fowler PoEAA])一定会有很多益处,但是它们并不是无代价的。使用领域模型,很少会像创建实际领域模型类、然后使用它们那么简单。很快你就会发现,领域模型必须得到相当数量的基础架构代码的支持。 领域模型所需基础架构当中最显著的当然是持久化——通常是 阅读全文

posted @ 2011-06-30 09:28 翔如飞飞 阅读(481) 评论(0) 推荐(0)

@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
摘要:IDENTITY关键字代表的是一个函数,而不是identity属性。在access里边没有这个函数,所以在access不能用这个语句。语法:identity (数据类型,标识种子,标识增长量)举例:select identity (数据类型,标识种子,标识增长量) AS 列名 into 新表 from 原表名每个表都可以有一个自动增长列,众所周知的就是IDENTITY列。一个IDENTITY列总是被当作表的主键处理(因此,多列主键不可能有一个IDENTITY列)。并且从中可看出,我们很容易指定从什么数开始,增幅是多少。 SQLServer中@@IDENTITY,SCOPE_IDENTITY和. 阅读全文

posted @ 2011-06-30 08:53 翔如飞飞 阅读(269) 评论(0) 推荐(1)

悟透JavaScript
摘要:引子 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。 你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态。而代码就象能量,他存在 的唯一目的,就是要努力改变数据原来的状态。在代码改变数据的同时,也会因为数据的抗拒而反过来影响或改变代码原有的趋势。甚至在某些情况下,数据可以转 变为代码,而代码却又有可能被转变为数据,或许还存在一个类似E=MC2形式的数码转换方程呢。然而,就是 阅读全文

posted @ 2011-06-23 15:42 翔如飞飞 阅读(164) 评论(0) 推荐(0)

MVVM Light Toolkit(一)下载与安装
摘要:一、下载与安装 MVVM Light Toolkit 官网地址:http://mvvmlight.codeplex.com/。 下载后的压缩包内容如下图所示,因为我的开发环境是Visual Studio 2010 旗舰版 + Expression Blend 4,所以用到的就是被选中的四个文件(其余三个文件分别是用于Expression Blend 3、Visual Studio 2008和Visual Studio 2010 Express (Phone edition)的项目模板,这里不再赘述)。 1、Binaries.V3:MVVM Light Toolkit 的核心.dll文件。将其解 阅读全文

posted @ 2011-06-21 16:50 翔如飞飞 阅读(607) 评论(0) 推荐(0)

Silverlight入门系列]使用MVVM模式(1):MVVM核心概念
摘要:MVVM模式是Model、View、ViewModel的简称,最早出现在WPF,现在Silverlight中也使用该模式,MVVM模式是对MVC模式的变种。哪儿变了?我认为MVVM和MVC的主要变化在于MVVM更适合于XAML。 MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大好处: 1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model不可以不变,当Model变化的时候View也可以不变。 2. 可重用性。你可以把一些视图逻辑放在一个View 阅读全文

posted @ 2011-06-21 10:35 翔如飞飞 阅读(208) 评论(0) 推荐(0)

JSON序列化和反序列化日期时间的处理(.NET)
摘要:JSON格式不直接支持日期和时间。DateTime值值显示为“/Date(700000+0500)/”形式的JSON字符串,其中第一个数字 (在提供的示例中为 700000)是 GMT 时区中自 1970 年 1 月 1 日午夜以来按正常时间(非夏令时)经过的毫秒数。该数字可以是负数,以表示之前的时间。示例中包括“+0500”的部分可选,它指示该时间属于Local 类型,即它在反序列化时应转换为本地时区。如果没有该部分,则会将时间反序列化为Utc。 修改Person类,添加LastLoginTime: 1: public class Person 2: { 3: public string N 阅读全文

posted @ 2011-06-18 16:08 翔如飞飞 阅读(426) 评论(0) 推荐(0)

数据协定中的枚举类型
摘要:枚举基础知识 若要使用以数据协定模型表示的枚举类型,一种方法就是将 DataContractAttribute 属性应用于该类型。然后,必须将 EnumMemberAttribute 属性应用于每个必须在数据协定中包含的成员。 下面的示例演示了两个类。第一个类使用枚举,第二个类定义枚举。[DataContract]publicclassCar{[DataMember]publicstringmodel;[DataMember]publicCarConditionEnumcondition;}[DataContract(Name="CarCondition")]publice 阅读全文

posted @ 2011-06-18 15:44 翔如飞飞 阅读(327) 评论(0) 推荐(0)

JSON序列化和反序列化(.NET)
摘要:JSON(JavaScript Object Notiation)是专门为浏览器中的网页上运行的 JavaScript 代码而设计的一种数据格式。它是在 Windows Communication Foundation (WCF) 中创建的 ASP.NET AJAX 服务所使用的默认数据格式 JSON是一种传递对象的语法,对象可以是name/value对,数组和其他对象。 下面是一小段JSON代码:{"skillz":{"web":[{"name":"html","years":"5& 阅读全文

posted @ 2011-06-18 15:06 翔如飞飞 阅读(314) 评论(0) 推荐(0)

protobuf-net简单示例
摘要:protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多protobuf-net是Google的protobuf的dotNet实现,目前支持Mono,SilverLight,WCF,WP7 etc。官方地址:http://code.google.com/p/protobuf-net/下来我们构建一个简单的示例程序,1.在官方地址下载最新的类库(目前最新的是:protobuf-net v2 beta r404.zip) 2.建立一个Console Application3.添加类库:protob 阅读全文

posted @ 2011-06-18 09:45 翔如飞飞 阅读(1884) 评论(0) 推荐(1)

Silverlight Binary Serialization using Protobuf-net
摘要:Introduction This article shows you how to serialize a pure .NET object class to a fast binary data in Silverlight. Background Silverlight does not provide pure binary object serialization. Although the DataContractSerializer and the XmlSerializer are nice serialization infra, these classes are base 阅读全文

posted @ 2011-06-18 09:23 翔如飞飞 阅读(534) 评论(0) 推荐(0)

Where 约束
摘要:C# 语言参考 约束说明T:struct类型参数必须是值类型。 可以指定除 Nullable 以外的任何值类型。 有关更多信息,请参见使用可以为 null 的类型(C# 编程指南)。 T:class类型参数必须是引用类型;这一点也适用于任何类、接口、委托或数组类型。T:new()类型参数必须具有无参数的公共构造函数。 当与其他约束一起使用时,new() 约束必须最后指定。 T:<基类名> 类型参数必须是指定的基类或派生自指定的基类。T:<接口名称> 类型参数必须是指定的接口或实现指定的接口。 可以指定多个接口约束。 约束接口也可以是泛型的。 T:U为 T 提供的类型参数 阅读全文

posted @ 2011-06-14 14:44 翔如飞飞 阅读(265) 评论(0) 推荐(0)

C#客户端访问MongoDB
摘要:下载驱动C#驱动的下载地址为:http://github.com/mongodb/mongo-csharp-driver/downloads添加DLL引用新建一个Console C#的项目,添加引用:MongoDB.Bson.dll MongoDB.Driver.dll 示例代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingMongoDB.Bson;usingMongoDB.Driver;namespaceJeriffe.MongoDB{classProgram{static 阅读全文

posted @ 2011-06-13 03:53 翔如飞飞 阅读(972) 评论(0) 推荐(0)

MongoDB安装
摘要:下载Mongo数据库:官方下载地址:http://www.mongodb.org/downloads下载后解压到E\MongoDB启动Mongo服务:打开CMD窗口,按照如下方式输入命令:C:\> cd \my_mongo_dir\binC:\my_mongo_dir\bin> mongod配置成功后会看到如下提示:Mon Jun 13 03:32:32 [initandlisten] db version v1.8.1, pdfile version 4.5Mon Jun 13 03:32:32 [initandlisten] git version: a429cd4f535b2 阅读全文

posted @ 2011-06-13 03:47 翔如飞飞 阅读(271) 评论(0) 推荐(0)

解读NoSQL技术代表之作Dynamo
摘要:NoSQL背后的两种模式 NoSQL其实并不是什么妖魔鬼怪,相反,NoSQL的真谛其实应该是Not Only SQL,其产生背景是在数据量和访问量逐渐增大的情况下下,人为地去添加机器或者切分数据到不同的机器,变得越来越困难,人力成本越来越高,于是便开始有 了这样的项目,它们的本意是提高数据存储的自动化程度,减少人为干预的时间,让负载更加均匀等。在国际上,真正的代表之作有来自Google的 BigTable 和Amazon 的Dynamo,他们分别使用了不同的基本原理。 MapReduce 这是历史最久的一种模型,典型的代表是BigTable。Map表示映射,Reduce表示化简。MapRedu 阅读全文

posted @ 2011-06-09 17:10 翔如飞飞 阅读(601) 评论(0) 推荐(0)

NoSQL架构实践(三)——以NoSQL为缓存
摘要:在《NoSQL架构实践》系列的前面两篇文章中,介绍了《以NoSQL为主》和《以NoSQL为辅》的架构。由于NoSQL数据库天生具有高性能、易扩展的特点,所以我们常常结合关系数据库,存储一些高性能的、海量的数据。从另外一个角度看,根据NoSQL的高性能特点,它同样适合用于缓存数据。用NoSQL缓存数据可以分为内存模式和磁盘持久化模式。 内存模式 说起内存模式缓存,我们自然就会想起大名鼎鼎的Memcached。在互联网发展过程中,Memcached曾经解救了数据库的大部分压力,做出了巨大的贡献,直到今天,它依然是缓存服务器的首选。Memcached的常见使用方式类似下面的代码: Memcached 阅读全文

posted @ 2011-06-09 16:45 翔如飞飞 阅读(227) 评论(0) 推荐(0)

NoSQL架构实践(二)——以NoSQL为主
摘要:前面一篇《NoSQL架构实践(一)——以NoSQL为辅》主要介绍了以NoSQL为辅助的架构,这种架构实施起来比较简单,易于理解,由于其中也使用了传统的关系数据库,让开发者更容易控制NoSQL带来的风险。接下来我们继续深入下去,换另外一个角度,“以NoSQL为主”来架构系统。 (三)纯NoSQL架构 只使用NoSQL作为数据存储。 图 4-纯NoSQL架构 在一些数据结构、查询关系非常简单的系统中,我们可以只使用NoSQL即可以解决存储问题。这样不但可以提高性能,还非常易于扩展。手机凤凰网的前端展示系统就使用了这种方案。 在一些数据库结构经常变化,数据结构不定的系统中,就非常适合使用NoSQL. 阅读全文

posted @ 2011-06-09 16:42 翔如飞飞 阅读(174) 评论(0) 推荐(0)

NoSQL架构实践(一)——以NoSQL为辅
摘要:[文章作者:孙立 链接:http://www.cnblogs.com/sunli/更新时间:2011-2-21] 前面《为什么要使用NoSQL》和《关系数据库还是NoSQL数据库》两 篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL。经常有朋友遇到困惑,看到NoSQL的介绍,觉得很好,但是却不知道如何正式用到自己的项目 中。很大的原因就是思维固定在MySQL中了,他们问得最多的问题就是用了NoSQL,我如何做关系查询。那么接下来,我们看下怎么样在我们的系统中使用 NoSQL。 怎么样把NoSQL引入到我们的系统架构设计中,需要根据我们系统的业务场景来分析,什么样类型的数据适合存储在N. 阅读全文

posted @ 2011-06-09 16:34 翔如飞飞 阅读(210) 评论(0) 推荐(0)

基于 REST 的 Web 服务:基础
摘要:基础 REST 定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。 如果考虑使用它的 Web 服务的数量,REST 近年来已经成为最主要的 Web 服务设计模型。 事实上,REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计。 REST 这个概念于 2000 年由 Roy Fielding 在就读加州大学欧文分校期间在学术论文“Architectural Styles and the Design of Network-based Sof 阅读全文

posted @ 2011-06-09 15:49 翔如飞飞 阅读(184) 评论(0) 推荐(0)