随笔分类 -  设计模式

摘要:首先要说明,这个准确说并不是BOOST的singleton实现,而是BOOST的POOL库的singleton实现。BOOST库中其实有若干个singleton模版,这个只是其中一个。但网上大部分介绍的介绍的BOOST的Singleton实现都是这个,所以大家也就默认了。而且这个的确算是比较特殊和有趣的一个实现。网上比较有名的文章是这篇《2B程序员,普通程序员和文艺程序员的Singleton实现》 介绍,我虽然对Singleton模版无爱,但自己的项目组中也有人用这个实现,所以还是研究了一下这个实现,特别网上真正解释清楚这个东东的人并不多(包括原文),所以还是研究了一下。1 为啥2B实现有问题 阅读全文
posted @ 2013-01-03 00:50 fullsail 阅读(6402) 评论(4) 推荐(2)
摘要:模版策略化是使用模版参数实现策略化,将策略的行为决定时间放到了编译期,性能最优。但适合代码规模不大,或者本身就是模版代码使用,(追求酷代码)。同时由于是将策略决定时间放在了编译期,会在继承,大规模使用的时候也必须使用模版策略行为。从而使策略的影响扩大化。 多态策略化是使用多态方法决定策略行为,在运行时调用者通过参数决定使用什么多态行为,同时由于决定行为放在运行时,不需要相关代码做出多大改变就可以使用。不足是性能相较模版策略化要弱一点点,在运行是必须要调用者控制策略行为。 比较而言,我其实认为多态策略化有更好的应用场景。个人感觉,有些时候,过度的模版设计反而会降低代码的可用性,影响使用者。 阅读全文
posted @ 2012-07-31 00:05 fullsail 阅读(737) 评论(1) 推荐(0)