AOP
相信大家对面向对象编程一定都熟悉透了。面向对象编程的继承是一种从上而下的关系,不适合从左到右的横向关系,试想一下如果很多无关联的对象有公共的行为,这些公共的行为可能分散在不同组件和不同对象中,通过继承实现一定是很不好的。那应该怎么实现呢?对滴,就是我们今天要说的AOP面向方面编程,也可以说面向切面编程。
AOP的核心就是把软件系统分为两部分:核心关注点和横切关注点。业务逻辑处理的主要流程是核心关注点,与之关系不大的则是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似。典型的例子:权限认证,日志,事务处理。AOP就是分离这些关注点,将核心关注点和横切关注点分离。
AOP静态植入
#include "stdafx.h"
#include <string>
#include <memory>
#include <iostream>
using namespace std;
class IHello{
public:
IHello(){
}
virtual ~ IHello(){
}

本文介绍了AOP(面向切面编程)的概念,它用于分离软件系统的核心关注点和横切关注点,如日志、权限认证和事务处理。通过C++11的动态植入技术,实现了一个轻量级的AOP方法拦截,类似Java Spring框架中的功能。文中以一个简单的代理对象示例说明AOP的工作原理,并指出其灵活性和耦合性的局限性。

2855

被折叠的 条评论
为什么被折叠?



