首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

接口扩展的有关问题

2012-02-16 
接口扩展的问题接口的重要意义在于扩展性假设设计这样一个审计接口:class AuditInterface{publci:virtual

接口扩展的问题
接口的重要意义在于扩展性

假设设计这样一个审计接口:
class AuditInterface
{
publci:
  virtual void audit(char* username, char* event, char* time) = 0;
}

class AuditImpl : public AuditInterface{...}


问题是假如某系统的审计项目不是username、event、time这三项了,那么就只能再设计新的接口,个人觉得不利于软件的维

护和扩展,有没有更好的方式呢?

个人考虑将audit的参数设置为一个抽象类型Item
virtual void audit(Item* item) = 0;
那么以后通过继承Item,决定不同的审计项目

请大家指导一下。


[解决办法]
你的方法不错
[解决办法]
你的方法不错,AuditInterface 只定义接口,以后增加audit参数继承Item就行,同时将具体的审计交给Item自己去做,增加Item不会修改原有代码,这个AuditInterface通过Item指针去调用具体的audit,保证接口对具体Item类型不知情。

热点排行