随笔分类 -  c++11 使用c++11改进我们的程序系列

使用c++11改进我们的程序系列
(原创)c++11改进我们的模式之改进观察者模式
摘要:和单例模式面临的是同样的问题,主题更新的接口难以统一,很难做出一个通用的观察者模式,还是用到可变模板参数解决这个问题,其次还用到了右值引用,避免多余的内存移动。c++11版本的观察者模式支持注册的观察者为函数、函数对象和lamda表达式,也避免了虚函数调用,更简洁更通用。直接看代码。template... 阅读全文

posted @ 2013-06-20 10:51 qicosmos(江南) 阅读(4041) 评论(2) 推荐(0) 编辑

(原创)c++11改进我们的模式之改进访问者模式
摘要:本次讲c++11改进我们的模式之改进访问者模式访问者模式是GOF23个设计模式中比较复杂的模式之一,但是它的功能也很强大,非常适合稳定的继承层次中对象的访问,可以在不修改被访问对象的情况下,动态添加职责,这正是访问者模式强大的地方,但是它的实现又造成了两个继承层次的强烈耦合,这也是被人诟病的地方,可以说是让人爱又让人恨的模式。c++11实现的访问者模式将会解决这个问题。我们将在c++11版本的访问者模式中看到,定义新的访问者是很容易的,扩展性很好,被访问者的继承层次也不用做任何修改。具体代码:templatestruct Visitor;templatestruct Visitor : Vis 阅读全文

posted @ 2013-06-19 22:12 qicosmos(江南) 阅读(2400) 评论(1) 推荐(0) 编辑

(原创)c++11改进我们的模式之改进单例模式
摘要:我会写关于c++11的一个系列的文章,会讲到如何使用c++11改进我们的程序,本次讲如何改进我们的模式,会讲到如何改进单例模式、观察者模式、访问者模式、工厂模式、命令模式等模式。通过c++11的改进,我们的模式变得更通用、更简洁、更强大。本次讲如何改进单例模式。在c++11之前,我们写单例模式的时候... 阅读全文

posted @ 2013-06-19 21:29 qicosmos(江南) 阅读(17638) 评论(3) 推荐(7) 编辑

导航