摘要:
一、Preserve Whole Object(保持对象完整)动机(Motivation)要向某个方法内传递若干个值,可以改使用传递整个对象。示例1intlow = DaysTempRange().GetLow();2inthigh = DaysTempRange().GetHigh();3withinPlan = Plan.WithinRange(low, high);改为1withinPlan = Plan.WithinRange(DaysTempRange());二、Replace Parameter with Methods(以函数取代参数)动机(Motivation)对象调用某个函数
阅读全文
posted @ 2011-06-06 22:16
HackerVirus
阅读(173)
推荐(0)
摘要:
来自:http://www.yaosansi.com/post/1380.html记录LINQ生成的SQL语句是常用的调试方式,而且能根据需要来优化LINQ生成的SQL语句,更能了深入的了解LINQ.DataContext的Log属性来将LINQ to SQL生成的SQL语句格式化.一.控制台程序(Console)dataContext.Log = Console.Out;二.利用GetCommand方法dataContext.GetCommand(query).CommandText;三.使用LINQPad (官方网站)LINQPad支持C# 3.0 和 Framework 3.5的全部功能
阅读全文
posted @ 2011-06-02 09:20
HackerVirus
阅读(957)
推荐(0)
摘要:
[你必须知道的.NET]第十五回:继承本质论 观后感摘要: 最近对CLR的本质部分非常感兴趣,也看了园子里面很多高手的文章,特别是AnyTao同志的[你必须知道的.NET]系列文章。AnyTao同志在继承本质论中,提出了使用关注对象和就近原则的方法来确认继承类具体调用方法的问题。文章非常精彩,下面的回复更加精彩,对文章进行了必要的补充。这篇文章的中,具体集中关注了以下这个问题一个被声明为基类(A),却使用派生类(C)进行实例化的对象,其调用的方法(foo,...阅读全文我记录网站综合系统 1.6发布摘要: 【名称】我记录网站综合系统 1.6【网址】http://www.wojilu.com【简
阅读全文
posted @ 2011-06-01 22:39
HackerVirus
阅读(226)
推荐(0)
摘要:
本人写博客总是喜欢来一段开场白,其实细心看我文章的朋友能明白我的意思,本人就是想让更多的人能理解我写文章的用意,力求用通俗易懂的方式展现复杂抽象的概念,写文章的朋友尤其是用心写文章的朋友,其实真正的目的不是写文章而是去帮助大家学习技术,在.NET领域里有各种各样的技术,一个人的精力有限,在讲解某一个技术要点的时候难免疏忽大意讲错,这很正常,我有时候在看一些前辈的文章时,总能发现前辈多么希望将自己毕生的经验、技术传递给每一个想学的人,他们是多么让我们敬佩,让我们值得尊重,我还是那句话,技术不是用来炫耀的,技术是我们生存的本领,更是我们兴趣的展现,做技术的朋友都是比较深沉、细心、敏锐的人,他们那不
阅读全文
posted @ 2011-06-01 22:32
HackerVirus
阅读(193)
推荐(0)
摘要:
步步为营 .NET 代码重构学习笔记系列步步为营 .NET 代码重构学习笔记 一、为何要代码重构步步为营 .NET 代码重构学习笔记 二、提炼方法(Extract Method)步步为营 .NET 代码重构学习笔记 三、内联方法(Inline Method)步步为营 .NET 代码重构学习笔记 四、临时变量(Temporary Variable)步步为营 .NET 代码重构学习笔记 五、分解函数和替换算法(Replace Method And Substitute Algorithm)步步为营 .NET 代码重构学习笔记 六、移动函数和移动值域(Move Method And Move Fie
阅读全文
posted @ 2011-06-01 22:29
HackerVirus
阅读(236)
推荐(0)
摘要:
一、Replace Type Code with Subclasses (以子类取代型别码)动机(Motivation)以一个subclass取代这个type code,如果面对的type code不会影响宿主类的行为,可以使用Replace Type Code with Class 来处理它们。但如果type code 会影响宿主类的行为,那么最好的办法就是借助多态(polymorphism)业处理 变化行为。示例01public class Employee02{03private int _type;04public static int ENGINEER = 0;05public st
阅读全文
posted @ 2011-06-01 08:57
HackerVirus
阅读(186)
推荐(0)
摘要:
导读:本文以VB6为例,主要介绍.NET引用COM和COM引用.NET的两个简单示例。<1>.NET调用COM为了简单,我们使用VB6,这个据说即将开源的老古董,来制作一个简单的COM。在VB6中新建一个ActiveX dll工程,只有一个类ComCalc.cls,代码如下:注意;设置兼容性,并生成dll然后 ,vs2010中新建一Console项目,微软很奇怪,VB6中的project叫工程,自vs2002起又改名叫“项目”。添加对刚才创建的COM的引用运行效果:也许很多人会对这段c#代码很好奇,这个_ComCalc是什么时候产生的?为什么通过它来调用方法,而不是通过类对象?我们
阅读全文
posted @ 2011-05-31 09:43
HackerVirus
阅读(190)
推荐(0)
摘要:
一、Duplicate Observed Data(复制[被监视数据])动机(Motivation)将该笔数据拷贝到一个domain object中。建立一个Observer模式,用以对domain object 和GUI object内的重复数据进行同步控制(sync)。示例步步为营 .NET 设计模式学习笔记 十二、Observer (观察者模式)二、Change Unidirectional Association to Bidirectional(将单向关联改为双向)动机(Motivation)添加一个反指针,并使修改函数(modifiers)能够同时更新两条连接。示例01public
阅读全文
posted @ 2011-05-31 09:07
HackerVirus
阅读(197)
推荐(0)
摘要:
一、Introduce Foreign Method(引入外加函数)动机(Motivation)在client class 中建立一个函数,并以一个server class实体作为第一引数(argument)。示例1DateTime newStart = DateTime.Now.AddDays(1);改为1public DateTime NextDate()2{3return DateTime.Now.AddDays(1);45}二、Introduce Local Extension(引入本地扩展)动机(Motivation)建立一个新class,使它包含这些额外函数。让这个扩展品成为sou
阅读全文
posted @ 2011-05-31 09:06
HackerVirus
阅读(160)
推荐(0)
摘要:
Entity Framework之领域驱动设计实践EntityFramework之领域驱动设计实践 - 前言 EntityFramework之领域驱动设计实践 (一):从DataTable到EntityObject EntityFramework之领域驱动设计实践 (二):分层架构 EntityFramework之领域驱动设计实践 (三):案例:一个简易的销售系统 EntityFramework之领域驱动设计实践 (四):存储过程 - 领域驱动的反模式 EntityFramework之领域驱动设计实践 (五):聚合 EntityFramework之领域驱动设计实践 (六):模型对象的生命周期
阅读全文
posted @ 2011-05-31 08:57
HackerVirus
阅读(405)
推荐(0)