@@@@关于插件的设计~~~~~~~~~
我想做一个协议分析程序,就像ethereal,各种协议可以通过插件的形式进行扩展。
看了几篇关于插件的文章,感觉没有说明白,因此想请教几个问题:
1、主程序如何调用插件,使用虚函数会将所有插件函数都运行一次吗?
例如: virtual void DoProtocol(data) = 0;
然后在所有插件中都实现一次?
Main函数里只要运行DoProtocol就行了??
2、虚函数中如何接管数据处理?例如插件只处理HTTP协议的数据,那么设计时是否要在主程序
中写 if (Protocol == http)
DoProtocol(data);
我看了《由云台协议DLL浅谈插件程序的编写》,还是不太明白,谢谢指点。
看了几篇关于插件的文章,感觉没有说明白,因此想请教几个问题:
1、主程序如何调用插件,使用虚函数会将所有插件函数都运行一次吗?
例如: virtual void DoProtocol(data) = 0;
然后在所有插件中都实现一次?
Main函数里只要运行DoProtocol就行了??
2、虚函数中如何接管数据处理?例如插件只处理HTTP协议的数据,那么设计时是否要在主程序
中写 if (Protocol == http)
DoProtocol(data);
我看了《由云台协议DLL浅谈插件程序的编写》,还是不太明白,谢谢指点。
...全文



