ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 网络编程 >> C/C++教程 >> C++极简的插件化抽象工厂PAF

C++极简的插件化抽象工厂PAF(1/5)

来源:网络整理     时间:2018-07-27     关键词:

本篇文章主要介绍了" C++极简的插件化抽象工厂PAF",主要涉及到方面的内容,对于C/C++教程感兴趣的同学可以参考一下: PAF a C++ pluginable abstract factory library一个极简的插件化抽象工厂.这是一个简单的插件化抽象工厂.主要用在面向接...

PAF a C++ pluginable abstract factory library

一个极简的插件化抽象工厂.

这是一个简单的插件化抽象工厂.

主要用在面向接口编程, 解耦接口实现者和使用者.

对于实现方: 主要提供非侵入式的注册组件方式,以及完全隔离组件功能,支持跨源文件跨模块重构.

对于使用方: 提供了非常便捷的使用方式.
包含如下特性:
0. 类型安全.仍然能在构造中使用参数,仍然能享受编译期类型安全检查.
1. 扁平化.无依赖只要包含接口头文件,即可使用.无需额外依赖.
2. 额外提供更好用的单例和更强大的全局共享对象.
3. 支持优雅退出检查,循环引用检查.
4. C ABI 友好.
5. 可扩展IOC支持.

sample:

I have a interface and it‘s implemented as below, with a method bar:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

// interface file

classfoo_i{

public:

  // no need virtual destructor

  virtualintbar()=0;

}

// class file

classfoo:publicfoo_i{

public:

  foo(intval):value(val){}

  virtualintbar()override{return++value;}

  intvalue;

}

with PAF, we need only three line noninvasive code

1

2

3

4

相关图片

相关文章