05 2011 档案
基于微软并行计算的工作流解决方案 (3) AsyncParallelActivity
摘要:此篇文章得到微软并行计算平台的Cristina Manu的热心帮助和大力支持,在此表示感谢。本系列的一些观点来自于她的发表的文章。Special thanks to Cristina for her great support on this article. Some ideas of this series come from her paper"WORKFLOW AND PARALLELEXTENSIONS IN .NET FRAMEWORK 4".Cristina Manu is SDET at Microsoft, working for Parallel Com 阅读全文
posted @ 2011-05-28 13:57 胡以谦 阅读(1514) 评论(2) 推荐(0)
基于微软并行计算的工作流解决方案 (2) Tasked based Parallel Activity
摘要:上一节我们做了个简单的测试证明了Parallel并不是真正意义上的并行工作流,并且分析了它的缺陷。在.net framework 4里面有很多关于并行计算的组件,现在我们就要利用微软TPL(The Task Parallel Library)中的System.Threading.Tasks.Task类型来实现并行的分支。要定制异步工作流活动,我们的新类必须继承于.net WF中的基类AsyncCodeActivity我们重写一下PartDBReplicationActivity,public class PartDBReplicationAsyncActivity : AsyncCodeAct 阅读全文
posted @ 2011-05-25 14:38 胡以谦 阅读(1500) 评论(11) 推荐(2)
基于微软并行计算的工作流解决方案 (1) Parallel Activity
摘要:在微软WF4中有一个Parallel活动,它可以模拟并行执行,但可惜的是Parallel活动并不是一个真正意义上的并行计算方案,实际上Parallel利用了一个线程去分时间段执行下面的各个分支。今天,我们要做的就是基于Parallel活动和微软.net framework 4中的并行任务Task,构造一个实际的并行工作流。并将它扩展为通用的并行工作流解决方案。我们首先构造一个虚拟的订单处理流程,它包含主要三个活动 (1) 订单初始化(2) 将订单有关信息拷贝到零件数据库(Part DB)(3) 将订单有关信息拷贝到车辆数据库(Vehicle DB)(4) 结束订单传统的做法是构造一个服务,顺序 阅读全文
posted @ 2011-05-25 14:11 胡以谦 阅读(2105) 评论(0) 推荐(1)
微软objectBuilder解读:构造一个轻量级的Dependency Injection容器(3) Locator
摘要:在上一节我们做了一个简单的容器,基本实现了类型/对象的注册和查询,main里面的代码现在比较稳定,无需再与各种工厂实例打交道,也无需了解各种接口和工厂的对应关系,但是我们实现的容器存在一些问题:1) 每种接口类型只能注册一个对应组件实例(接口的类型就是Dictionary里面的key, key不能重复,微软ObjectBuilder的Locator利用了键/组件Id来注册key)2) Container只有一个层次,微软ObjectBuilder的Locator实现了多层次的链表结构的Container,后面我们再来分析这样的层次结构的Container的优缺点 3) Container里面引 阅读全文
posted @ 2011-05-23 11:44 胡以谦 阅读(536) 评论(2) 推荐(1)
微软objectBuilder解读:构造一个轻量级的Dependency Injection容器(2) 工厂和容器
摘要:微软objectBuilder解读:构造一个轻量级的Dependency Injection容器(2) 工厂和容器我们利用简单工厂继续对示例进行修改为public class CreatorFactory{ public static IMessageCreator GetCreator() { return new ConsoleMessageCreator(); }}public class ProcessorFactory{ public static IMessageProcessor GetProcessor(string message) { if (message == &quo 阅读全文
posted @ 2011-05-20 14:17 胡以谦 阅读(691) 评论(9) 推荐(1)
微软objectBuilder解读:构造一个轻量级的Dependency Injection容器(1) 依赖倒置
摘要:Dependency Injection或Inverse of Control(控制反转)设计模式来源于架构设计的一个基本原则: 1. Dependency Inverse Policy (依赖倒置/依赖反转)什么是依赖倒置/依赖反转,看一个简单的例子:一个控制台程序读入用户从键盘输入的字符串输出到屏幕。static void Main(string[] args){ Console.WriteLine("Demo DIP "); string s = Console.ReadLine(); Console.WriteLine("your input is&quo 阅读全文
posted @ 2011-05-20 10:54 胡以谦 阅读(889) 评论(2) 推荐(1)