Hello World
Spiga

再谈public类型中internal成员的坏味道

2009-08-27 10:49 by 老赵, 5959 visits
摘要:上一篇文章里我讨论了一个类中internal成员可能会造成的坏味道,并且认为如果您的类型中出现了这个情况,可能就值得检查一下设计上是不是有问题了。文章中我提出了三种可能出现internal的情况,其中两种争议不大,不过对于“public类中是否应该出现internal成员”这一点似乎引起了一些争议。从评论中发现,讨论的一部分焦点并不是我的本意,这可能是我前文描述地较为简单而造成的,因此我现在对于这个方面再进行略为详细的探讨。 阅读全文

类中的internal成员可能是一种坏味道

2009-08-26 16:54 by 老赵, 8023 visits
摘要:最近除了搞ASP.NET MVC之外,也在思考一些编程实践方面的问题。昨天在回家路上,忽然对一个问题产生了较为清晰的认识。或者说,原先只是有一丝细微的感觉,而现在将它和一些其他的方面进行了联系,也显得颇为“完备”。这就是问题便是:如何对待类中internal成员。我现在认为“类中的internal成员可能是一个坏味道”,换句话说,如果您的类中出现了internal的成员,就可能是设计上的问题了。 阅读全文

支持DomainRoute的URL构造辅助方法

2009-08-26 12:18 by 老赵, 5743 visits
摘要:上一篇文章中我们构造了DomainRoute类,这是一个将URL Routing扩展至域名的Route组件,于是现在我们便可以轻易地从一个URL的Domain部分中捕获数据并在程序中使用。不过作为URL Routing的另一个重要部分,在URL构建方面,我们还需给DomainRoute补充额外的支持。 阅读全文

配合域名作URL Routing

2009-08-25 16:00 by 老赵, 8116 visits
摘要:经常有朋友问我,如何对域名作URL Routing,他们可能希望根据域名(或自域名)来获得一些值,最终影响Controller,Action或某些参数的选择。之前我只是简单地说“扩展一下ASP.NET Routing吧”,而现在由于自己也正好需要使用这个功能,便实现了一个扩展。使用下来,效果不错。 阅读全文

常用辅助方法收集

2009-08-25 15:11 by 老赵, 5745 visits
摘要:在项目里经常会出现一些常用的,好用的扩展方法,因此也想到把它收集起来。如果您有什么好的辅助方法,也可以告诉我,希望可以成为一套丰富的辅助方法,简化我们的开发生活。 阅读全文

基于ParsedRoute的Domain Parser

2009-08-24 18:27 by 老赵, 5379 visits
摘要:之前谈了不少关于ASP.NET Routing中ParsedRoute的内容,例如它的设计以及如何调用它的功能,其目的便是为了如今的使用作准备。现在我们就基于它构建一个Domain Parser,而这个Parser也是为今后的功能打基础的。 阅读全文

再谈ASP.NET Routing中的ParsedRoute

2009-08-24 14:10 by 老赵, 5431 visits
摘要:ParsedRoute是ASP.NET Routing中的内部类,作用是根据既定模式将一段URL解析为一个RouteValueDictionary。上次的文章中我主要谈了如何利用反射使用类库的内部成员,而这次则想分享一些使用ParsedRoute时产生的一些想法。 阅读全文

Kent Beck确认参加敏捷中国大会2009,讲述其35年架构设计心得

2009-08-23 23:47 by 老赵, 4549 visits
摘要:尘埃落定,Kent Beck终于确定他的行程,将于敏捷中国大会(9月11日~12日)前两天来京参会,并以大讲堂的形式分享其在架构设计方面的心得,在大会当天会做"实效的理想主义"的演讲,和另一位敏捷宣传创始人Dave Thomas一同为大会开幕。另外,这也是KB首次来中国,欢迎一起观瞻这个有点传奇色彩的极限编程创始人、敏捷宣言创始人。 阅读全文

书籍推荐:国内第一本ASP.NET 3.5 MVC技术专著

2009-08-23 15:39 by 老赵, 13624 visits
摘要:周五的时候我知道了国内第一本ASP.NET 3.5 MVC技术专著问世了。当时忙着搬家理东西,写代码,写博客,就没有仔细搭理。现在瞅瞅,不得了,了不得,至少有四大亮点值得推荐。 阅读全文

为什么是HttpContextBase而不是IHttpContext

2009-08-21 15:15 by 老赵, 6244 visits
摘要:由于HttpContext很难进行Mock,因此为了提高可测试性,微软随ASP.NET MVC发布了一个“抽象包”,专门用于对HttpContext及其相关组件进行抽象。不过在Preview 1版本中,这些抽象都是一个个接口,如IHttpContext,IHttpRequest等等。而在下一个版本中,立即就成为了一个个抽象类,如HttpContextBase,HttpRequestBase。现在我打算从“使用”角度来谈一下,为什么这里的确应该用抽象类而不是接口。 阅读全文

在单元测试时指定HttpContext的各种Path

2009-08-21 10:02 by 老赵, 6383 visits
摘要:设置HttpContext中各种Path一直是个问题,因为被测试的方法可能用到各种Path中的任何一个,而各种Path之间有一定关联,如果我们完全手动设置Mock对象的话会是一个浩大的工程。还好,这个问题还算容易解决。 阅读全文

C#编译器对泛型方法调用作类型推断的奇怪问题

2009-08-20 16:50 by 老赵, 7512 visits
摘要:范型是.NET平台上重要的功能,范型即为一个“不确定”的类型。C# 3.0中加强了对于类型推断的力度。但是C#的代码推断作的相当不完整,刚才我又遇上了一个奇怪的问题。 阅读全文

支持Area的ControllerFactory

2009-08-20 11:33 by 老赵, 5545 visits
摘要:由于项目需要,把ASP.NET MVC 2中的Area功能搬到1.0上来吧……其实只是借用个Area名头而已,根本不是那么一回事。有时候,我们就为自己的项目做一点简单的扩展,不是很合适吗? 阅读全文

复用类库内部已有功能

2009-08-19 18:59 by 老赵, 7377 visits
摘要:经常看我博客的人可能会知道,我是一个喜欢搞点小技巧来实现某个功能的人。例如博客的皮肤,自己花了不少时间定义,也是为了效果丰富一些。当然,搞得最多的是从框架或类库内部取出一点小功能来用用,节省自己开发的时间。 阅读全文

再谈抽象类和接口

2009-08-19 12:15 by 老赵, 8724 visits
摘要:昨天我质疑了为什么定义RouteBase抽象类,而不是IRoute接口,我谈到对于一个“没有任何实现”的抽象类来说,开发人员应该使用接口。不过在后面的评论中,有朋友给了我启发,让我忽然想到更多的事情。晚上又再次翻了翻《Framework Design Guidelines》之后,打算再谈一些东西,把这个问题讨论地更加清楚一些。 阅读全文

ASP.NET Routing中最令人摸不着头脑的设计

2009-08-18 19:47 by 老赵, 7151 visits
摘要:您觉得ASP.NET Routing中最令人摸不着头脑的设计是什么? 阅读全文

DefaultControllerFactory不是线程安全的

2009-08-18 16:07 by 老赵, 6105 visits
摘要:由于项目需要,刚才打算为ASP.NET MVC应用程序增强ControllerFactory的功能,因此翻出了ASP.NET MVC的源代码开始阅读其DefaultControllerFactory。代码不多,很容易理解,不过读着读着便发现了问题,因为我发现DefaultControllerFactory不是线程安全的。 阅读全文

将Windows Live Writer打造为“所见即所得”编辑器

2009-08-18 00:14 by 老赵, 5454 visits
摘要:Windows Live Writer的最大优势之一,便是可以自动获取目标博客的样式,然后让用户在特定的样式环境下编写文章。我们可以利用它在特定样式环境下编写HTML内容,这篇文章将会提供一个指南,希望可以帮助您打造一个合适的编辑环境。 阅读全文

NHibernate中一对一关联的延迟加载

2009-08-17 09:08 by 老赵, 8192 visits
摘要:这篇文章谈论的其实只是一个小技巧,而且甚至于这个是由于我对NHibernate不够了解而造成的。因此,如果您有更好的做法也请不吝指出。这个问题也就是“如何实现NHibernate中一对一映射的延迟加载”。 阅读全文

从.NET中委托写法的演变谈开去(下):性能相关

2009-08-10 00:44 by 老赵, 12032 visits
摘要:在上一篇文章中,我们详细讲述了C# 3.0中Lambda表达式(构造委托)的使用方式,它在语义上的优势及对编程的简化——这些内容已经属于委托的“扩展内容”。不如这次谈得更远一些,就来讨论一下上文中“编程方式”的性能相关话题。 阅读全文
< Prev 1 ... 14 15 16 17 18 19 20 21 22 ... 31 Next >
使用Live Messenger联系我