moc 发表于 2018-9-9 18:31:14

037-C++之C++的接口封装和设计

本帖最后由 moc 于 2018-9-9 18:35 编辑

1、C++业务逻辑基础

2、注入、弱关联、控制反转
注入:是把一个类包含在另一个类中。
弱关联:一个类作为另一个类的成员函数的参数。
控制反转:业务逻辑和底层业务之间控制权的切换。
class MainOP
{
public:
        MainOP(SocketIF *sIf)   // 注入
        {
                this->sIf = sIf;
        }

        MainOP()
        { ; }

        void setSIF(SocketIF *sIf)
        {
                this->sIf = sIf;
        }

        SocketIF* GetSIF(SocketIF *sIf)
        {
                return this->sIf;
        }

        int OP1(SocketIF *sIF/* 弱关联*/, unsigned char *in, int inlen, unsigned char *out, int *outlen)
        {
                int ret = 0;
                ret = this->sIf->cltSocketInit();
                ret = this->sIf->cltSocketSend(in, inlen);
                ret = this->sIf->cltSocketRev(out, outlen);
                ret = this->sIf->cltSocketDestory();
                return ret;
        }
protected:
private:
        SocketIF *sIf;   // 注入
};
3、AOP切面编程思想了解
AOP:Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

AOP编程可以在不改变原业务代码的基础上增加新的业务逻辑。
AOP编程在java运用更广泛,在C++中需要借助汇编操作才能完成,属于高阶部分。
页: [1]
查看完整版本: 037-C++之C++的接口封装和设计