原文:(原创)c++11改进我们的模式之改进代理模式,实现通用的AOP框架

c boost技术交流群: ,欢迎大家来交流技术。 本次要讲的时候如何改进代理模式,具体来说是动态代理模式,动态代理模式一般实现AOP框架,不懂AOP的童鞋看这里。我前面的博文也实现了一个AOP框架 可以参考我前面的博文: 原创 C 轻量级AOP框架 ,但是那个AOP框架存在一个缺陷,就是不支持切面的组合,这一点大大降低了其通用性,本次通过c 改进,使AOP框架更完善:支持切面组合,不要求切面必须 ...

2013-06-25 10:09 8 2214 推荐指数:

查看详情

原创c++11改进我们的模式改进单例模式

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

Thu Jun 20 05:29:00 CST 2013 3 15773
(原创)c++11改进我们的模式改进命令模式

  模式虽然精妙,却难完美,比如观察者模式中观察者生命周期的问题;比如访问者模式中循环依赖的问题等等;其它很多模式也存在这样那样的一些不足之处,如使用场景受限、实现复杂、不够简洁、不够通用等。但我觉得不足之处大都是可以采取一些手法去弥补去改进的,比如用c++11的新特性来改进。因此,便有 ...

Mon Oct 21 15:43:00 CST 2013 2 2880
(原创)c++11改进我们的模式改进观察者模式

和单例模式面临的是同样的问题,主题更新的接口难以统一,很难做出一个通用的观察者模式,还是用到可变模板参数解决这个问题,其次还用到了右值引用,避免多余的内存移动。c++11版本的观察者模式支持注册的观察者为函数、函数对象和lamda表达式,也避免了虚函数调用,更简洁更通用。直接看代码 ...

Thu Jun 20 18:51:00 CST 2013 0 2732
原创C++11改进我们的程序之右值引用

本次主要讲c++11中的右值引用,后面还会讲到右值引用如何结合std::move优化我们的程序。 c++11增加了一个新的类型,称作右值引用(R-value reference),标记为T &&,说到右值引用类型之前先要了解什么是左值和右值。左值具名,对应指定内存域,可访问;右值 ...

Tue Oct 15 19:45:00 CST 2013 2 7410
原创C++11改进我们的程序之move和完美转发

  本次要讲的是右值引用相关的几个函数:std::move, std::forward和成员的emplace_back,通过这些函数我们可以避免不必要的拷贝,提高程序性能。move是将对象的状态或者所 ...

Sat Oct 19 00:06:00 CST 2013 3 8839
原创C++11改进我们的程序之简化我们的程序(五)

这次要讲的是:c++11中的bind和function std::function 它是函数、函数对象、函数指针、和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针。以统一的方式处理函数、函数对象、函数指针、和成员函数。允许保存和延迟执行函数。 函数 ...

Thu Sep 05 05:44:00 CST 2013 2 9005
原创C++11改进我们的程序之简化我们的程序(七)

这次要讲的内容是:c++11中的tuple(元组)。tuple看似简单,其实它是简约而不简单,可以说它是c++11中一个既简单又复杂的东东,关于它简单的一面是它很容易使用,复杂的一面是它内部隐藏了太多细节,要揭开它神秘的面纱时又比较困难。   tuple是一个固定大小的不同类型值的集合,是泛化 ...

Fri Sep 13 06:30:00 CST 2013 7 18676
(原创)c++11改进我们的程序之垃圾回收

  c#和java中有自动垃圾回收机制,.net运行时和java虚拟机可以管理分配的堆内存,在对象失去引用时自动回收,因此在c#和jva中, 内存管理不是大问题。c++语言没有垃圾回收机制,必须自己去释放分配的堆内存,否则就会内存泄露。  我相信大部分c++开发人员都遇到过内存泄露的问题,而查找 ...

Mon Aug 26 23:50:00 CST 2013 6 6888
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM