深一层看单一职责原则

     摘要: 单一职责原则(Single Responsibility Principle,SRP)是Bob大叔提倡的S.O.L.I.D五大设计原则中的第一个。SRP比较容易让人望文生义产生误解。理解SRP的关键在于理解类的抽象层次,高层次的类是高层概念的抽象,低层次的类是低层概念的抽象。低层的变化只影响低层类,高层的变化只影响高层类。  阅读全文
posted @ 2010-01-31 15:26 Todd Wei 阅读(1197) | 评论 (9)编辑

C++/CLI链接C++ library

     摘要: 1.设置CLR support类型:2.设置include目录:3.设置lib目录  阅读全文
posted @ 2010-01-23 10:55 Todd Wei 阅读(69) | 评论 (0)编辑

一句话设计模式之-Vistor模式

     摘要: Vistor模式的目的是将算法和数据结构分离,手段是多分派(multi dispatch)。  阅读全文
posted @ 2010-01-03 12:11 Todd Wei 阅读(54) | 评论 (0)编辑

深一层看依赖注入

     摘要: 1.依赖注入和创建对象辨析;2.对象间4种横向关系;3.依赖注入方式的选择  阅读全文
posted @ 2009-12-10 09:05 Todd Wei 阅读(2832) | 评论 (60)编辑

理解boost::bind的实参传递方式

     摘要: boost::bind在构造函数对象时,实参传递是采用传值方式的,中间会经过若干次的拷贝构造。对于不允许拷贝构造或拷贝构造性能开销较大的情形可以结合boost::ref增加一个wrapper层避免拷贝构造。  阅读全文
posted @ 2009-11-20 21:46 Todd Wei 阅读(138) | 评论 (0)编辑

C# vs C++之三:静态构造函数

     摘要: C++语言规范并未包含类似C#静态构造函数的东西,但在使用类之前做初始化工作的需求却是客观存在的。本文尝试通过C++的模版机制模拟实现静态构造函数,避免手动初始化的繁琐实现。本实现具有以下特点:在第一次构造类对象之前自动调用类提供的静态构造函数;静态构造函数被调用的时机是确定的;利用C++的局部静态变量初始化机制保证了线程安全性;基于继承的实现机制并未改变派生类的对象内存布局。  阅读全文
posted @ 2009-11-14 17:53 Todd Wei 阅读(1447) | 评论 (16)编辑

深一层看Singleton

     摘要: “保证对象有唯一的实例,并且提供一个全局访问点”是Singleton模式比较常见的描述。不知您是否意识到,这个定义本身就散发着某种"bad smell"。为什么要把“保证对象有唯一实例”的创建职责,和“提供一个全局访问点”的访问职责混入一个模式呢?B是A的使用者,它只关注A提供的功能接口;A只能有唯一实例是A的创建者的事情,与B无关。  阅读全文
posted @ 2009-10-31 14:53 Todd Wei 阅读(1290) | 评论 (52)编辑

C# vs C++之二:GC vs RAII

     摘要: C#和C++两门语言的定位不同,它们在资源管理方面采取了两种截然不同的方式:一为GC,一为RAII。GC让程序建立在更高的抽象层次上,使资源管理变得更方便,更安全;而RAII则保留了C的底层能力,同时在C++特性的支持下提供了简单有效的资源管理方式。我们知道C++最激烈的批评往往来自于C 社区,而在我看来C程序员可以不接受虚函数,不接受模板,但有什么理由不接受RAII呢?可以说RAII是C++相对C来说几乎无副作用的明显进步。  阅读全文
posted @ 2009-08-19 08:42 Todd Wei 阅读(2667) | 评论 (41)编辑

C# vs C++之一:委托 vs 函数指针

     摘要: 比较C#委托和C++函数指针的异同,探讨C++ functor和静多态:1.C#委托对象是真正的对象,C/C++函数指针变量只是函数入口地址;2.C++的委托对象:functor;3.C++的静多态:模版  阅读全文
posted @ 2009-08-09 14:29 Todd Wei 阅读(2102) | 评论 (14)编辑

博客园积分算法探讨

     摘要: 今天在dudu的《博客园FAQ》上看到了博客积分算法规则。因为同样是搞互联网的,平时工作也涉及到用户积分算法的设计,所以特把此问题拿出来分析探讨。初衷只是纯学术的研究探讨,并不构成对博客园积分机制的意见建议。  阅读全文
posted @ 2009-07-31 13:21 Todd Wei 阅读(1905) | 评论 (81)编辑
<2010年2月>
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213

公告

搜索

 

常用链接

我参与的团队

我的标签

随笔分类

随笔档案

CodePlex

好友链接

积分与排名

最新评论

阅读排行榜

评论排行榜

60天内阅读排行

Google广告