com接口设计的讨论,该如何解决

com接口设计的讨论
1.直接修改idl,添加一个纯接口 
  interface ICureObject:IDispatch
  {
  方法A;只声明没有实现;
  方法B;只声明没有实现;
  ...
  ...
  }

2.在idl中添加若干个新的接口,各个接口从ICureObject继承; interface IF:ICureObject

这样就意味着需要IF的实现中(cpp)中,实现ICureObject的各个方法;
如果ICureObject的方法多,并且派生接口也很多,这个工作是比较繁琐的。因为每个派生接口都需要做一些相同的代码
就是:在头文件中声明基类的成员函数,在cpp中实现。这样维护也繁琐,当ICureObject添加一个新的方法时,需要修改每
一个派生类。

不知道有什么方法简化。


 

------解决方案--------------------
1、不要有太多接口
2、设计时,就决定好哪些接口,既然不实现某些接口,也不在后来添加接口
------解决方案--------------------
学习一下ATL中的模板实现代码,越底层的接口越在最外层实现,这样底层接口增加方法的话,无需到处修改。
------解决方案--------------------
把一类接口归并到一起,然后通过参数等来区分
比如
查询设置QueryConfig
设置设置StoreConfig
执行动作DoWork
------解决方案--------------------
探讨

把一类接口归并到一起,然后通过参数等来区分
比如
查询设置QueryConfig
设置设置StoreConfig
执行动作DoWork

------解决方案--------------------
探讨
1.直接修改idl,添加一个纯接口
interface ICureObject:IDispatch
{
方法A;只声明没有实现;
方法B;只声明没有实现;
...
...
}

2.在idl中添加若干个新的接口,各个接口从ICureObject继承; interface IF:ICureObject

这样就意味着需要IF的实现中(cpp)中,实……