想法
文章平均质量分 73
syndro
这个作者很懒,什么都没留下…
展开
-
关于工厂模式和类型登记表
需求:在实际应用中,我经常会遇到这样一种情况,在底层的某个接口中,提供一个传入一个父类指针,又向上层提供一个类型可扩展的方式,使得上层可以自定义父类的实现,但与此同时,又想封装对这个类的所有使用,使用户只能定义这个类的行为,而不能自己使用这个类。一下为实现这种模式的一种方法: 带有登记表的工厂模式class TypeBase{ virtual void do_something() = 0;};class CreatorBase{public: virtual TypeBase* cre原创 2011-05-23 16:46:00 · 246 阅读 · 0 评论 -
设计与思维方式的改变
<br />我想,很多人跟我一样都犯过这样的错误,那就是本末倒置。当我看到了别人实现的代码中有很好的地方,就很想拿来用;在书上看到了好的模式也很想拿来用。吸取别人好的东西固然是好的,也是很必要的,在进行自己的设计时分析问题的顺序并不应该是从别人的结构或者模式出发。因为模式和结构再好也是对某种特定需求的一个实现。<br /> <br />在分析问题时,首先应该先分析,我所提供的程序最后需要什么样的结果,比如,这个模块,我需要向上层提供怎样形式的接口,这个是最重要的,如果先从模块内部的构造进行思考,很可能造成模原创 2011-05-27 11:44:00 · 228 阅读 · 0 评论