我使用过一个简单的后台服务框架.这个框架上手很容易,我只需要继承一个基类,同时实现,或重写(override)基类声明的几个接口(这些接口声明为虚函数,或者纯虚函数),然后调用基类定义好的run()函数,便可以将框架代码运行起来.run函数做的事情,是依序调用上述的几个接口:

class Service {public :int run(){    // ....
    step1();  // 收包 , 解包
    step2();  // 业务逻辑处理
    step3(); //  回包
    step4(); //资源释放
    //....    }protected:virtual  int step1(){// 收包,解包逻辑实现//...}virtual int step3(){// 回包逻辑实现//...}virtual int step4(){//资源释放//...}virtual int step2() =0 ; //纯虚函数,派生类实现}

其中收包,解包,回包,释放资源等动作,框架会提供一份实现,由于我们有时候会采用其他的数据协议,所以基类也将收包回包等函数声明为虚函数,允许我们针对新的协议进行函数的重写(override).而对于业务逻辑处理函数,也就是step2,框架无法为我们实现,我们需要根据具体的业务需求来实现该函数,在派生类中来实现step2函数:

class MyService : public Service{int step2(){// 具体业务逻辑的实现}
}

派生类实现了step2函数后,通过调用run函数来运行程序:

        		

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式