上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要: 在实际工作中我们会遇到很多的需要流式处理的程序,这种程序我们一般都会采用如下的两种设计:设计一:public interface IProcessor{ Object step1(...); Object step2(...); Object step3(...);}由于我们的任务处理基本可以分为三个流程,所以我们在IProcessor接口中定义了三个步骤,下来我们会实现很多个IProcessor,但是假如有一天我们需要在第一步和第二步之间增加一步,这时所有的接口都得加一个步骤,而且这样做也不利于把有些处理变成服务。设计二:public classic TaskContext{ ... 阅读全文
posted @ 2010-04-28 17:30 昝昝 阅读(260) 评论(0) 推荐(0)
摘要: 利用AOP我们很容易的就能实现类似Log等业务无关的横切关注点,避免了这些代码在项目中不断的重复,利用.NET DLR我们可以很容易的就实现一个简单的AOP,代码如下:using System;using System.Dynamic;using System.Reflection;namespace Zxf.Practices{ public class DynamicProxy : DynamicObject { Object m_Object; public DynamicProxy(Object obj) { ... 阅读全文
posted @ 2010-04-27 20:39 昝昝 阅读(887) 评论(2) 推荐(0)
摘要: 我们每天都在不断的和Class以及Assembly打交道,不知道你有没有关注一下某个Class或者某个Assembly的变化率呢?如果你关注过的话,你就会发现在优秀的解决方案中Class和Assembly的变化率也是分层的;越是核心的和业务无关的,它的变化机率就越小,越是外围的和业务相关的,它的变化机率就越大;每个Assembly里的Class的变化率和变化原因应该趋于一致,这样的Assembly... 阅读全文
posted @ 2010-04-24 21:39 昝昝 阅读(286) 评论(0) 推荐(0)
摘要: 通用DAL层:  提供一个通用的DAL层的基础框架,其中包括所有实体类的基类,所有DAL类的基类,以及用来在实体类和数据表以及实体类字段和数据表字段之间Mapping的Attributes。此层作为核心框架只实现一次,此层通常不捕获任何异常  原则:提供通用的增删改查基础架构,提供实体类基础架构,提供ORMapping基础架构,面向所有表,此层以通用为目标,面向数据库。专用DAL层:  基于通用D... 阅读全文
posted @ 2010-04-24 10:09 昝昝 阅读(8999) 评论(0) 推荐(2)
摘要: 面向服务设计的目标就是将业务系统分割成一个个自主的运算单元,就像CPU,这些自主的运算单元就是服务,其中有大部分服务是用来实现业务的,还有一种服务是用来组装这些业务服务的服务,这就是工作流服务。服务最核心的价值观就是自主与自治,服务就像一个运算单元,这是对服务的一个隐喻,它表示在服务内部有自己的运算器,Cache,存储器,算法实现等等,它对外的接口有两层,其一就是这个运算单元是提供什么运算的(这就... 阅读全文
posted @ 2010-04-24 09:46 昝昝 阅读(544) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2010-04-20 21:11 昝昝 阅读(167) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2010-04-20 21:07 昝昝 阅读(120) 评论(0) 推荐(0)
摘要: 在一些项目中我们经常需要将一种格式的XML或Object转化成另一种格式的XML或Object,我们经常需要为此写很多的代码,这些代码看上去非常不优雅,而且这种硬编码还导致如果转化规则发生了变化需要重新编译程序,如果能利用XSLT来实现这种转换那就能大大简化我们的程序,并且这种转换规则将变得可配置。下面的代码实现了一个服务这个服务就是用来实现这种转换。定义转换服务接口:using System;using System.Collections.Generic;namespace Zxf.Practices{ public interface IXsltObjectTransferServ... 阅读全文
posted @ 2010-04-19 12:00 昝昝 阅读(249) 评论(0) 推荐(0)
摘要: 1.框架定义实体类、数据访问类的基类,以及用户ORMapping的Attribute。TableMappingAttribute:using System;namespace Core{ [AttributeUsage(AttributeTargets.Class)] public class TableMappingAttribute : Attribute { public String TableName {get;set;} }}FieldMappingAttribute:using System;namespace Core{ [Attri... 阅读全文
posted @ 2010-04-19 10:23 昝昝 阅读(710) 评论(0) 推荐(0)
摘要: 如果我们知道WCF服务的url,binding,contractType,我们可以使用下面的代码来创建一个WCF客户端对象:ChannelFactory.CreateChannel(new BasicHttpBinding(),new EndpointAddress(url));但上面的代码里面我们... 阅读全文
posted @ 2010-04-19 10:16 昝昝 阅读(1384) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 下一页